-
Notifications
You must be signed in to change notification settings - Fork 39
/
README
113 lines (83 loc) · 2.98 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
ohNet library
------------
ohNet is a library for the discovery, monitoring, manipulation and implementation
of UPnP devices, generalized to be extensible to other similar protocols.
Prerequisites
-------------
On Windows:
Microsoft Visual Studio
(Express versions are okay. Versions earlier than 2010 will have to edit Types.h to
include content equivalent to stdint.h.)
.NET 6.0+ (optional, required for C# bindings and all changes to service descriptions)
Java (optional, required for building Java bindings)
On Linux:
.NET 6.0+ (optional, required for changes to service descriptions)
Java (optional, required for building Java bindings)
On Mac:
XCode
.NET 6.0+ (optional, required for changes to service descriptions)
Building
--------
make
Note: On Windows, ensure you are in a visual studio command prompt or have otherwise set Visual
Studio's environment variables.
Note: Windows & Mac assumes that 'dotnet' is in your PATH. Linux assumes it's at '~/.dotnet/'
If you have a .NET runtime available and want to regenerate makefiles, proxies or providers, run
make generate-makefiles uset4=yes
make GenAll uset4=yes
Installing
----------
See "INSTALL.txt".
Directories
-----------
Build/
Generated during the build process. Build artefacts go here.
Build/Obj/Windows/
Build/Obj/Posix/
Binaries and shared libraries are built to here during a build.
Build/Tools/
Binaries that are required by the build process are built to here.
Build/Include/OpenHome
Header files needed by users of the library are copied here during the build.
Build/Include/OpenHome/Net/C
Header files for C language bindings.
Build/Include/OpenHome/Net/Cpp
Header files for C++ language bindings.
Build/Include/OpenHome/Net/Core
Build/Include/OpenHome/Net/Private
Not intended for external use.
OpenHome
Base source code.
OpenHome/Net
Source code shared by Control Point and Device stacks.
OpenHome/Net/ControlPoint
Control Point stack.
OpenHome/Net/Device
Device stack.
OpenHome/Net/Bindings
Language bindings (for C++, C#, Java, JavaScript & C).
Make targets
------------
all
This is the default target. It (should) build everything.
ohNet.net.dll
ohNet as a dll/shared object plus C# bindings
ohNetJavaAll
ohNet as a dll/shared object plus Java bindings
generate-makefiles
This regenerates the makefiles in Generated/ that are derived from the
service descriptions. GNU make will detect these changes automatically,
but Microsoft's nmake doesn't handle this, so Windows users will need
to use this target when the service descriptions or T4 templates for
the makefiles have been changed.
install
See "INSTALL.txt".
uninstall
See "INSTALL.txt".
clean
Removes files from Build/Obj/$platform/ and Build/Include/
mostlyclean
Also removes the auto-generated makefiles from Generated/
maintainer-clean
Also removes Build/Tools/
(Should - but doesn't yet - remove auto-generated source files too.)