Fri, 07 Nov 2025 11:06:58 +0100
use -dynamiclib flag to build a dylib on macos
|
204
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
1 | <?xml version="1.0" encoding="UTF-8"?> |
| 615 | 2 | <project version="0.3" xmlns="http://unixwork.de/uwproj"> |
|
204
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
3 | <!-- makefile config --> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
4 | <config> |
|
616
7a0a364a1d67
fix user-after-free in case evt_add_request/ev_pollin fails
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
615
diff
changeset
|
5 | <var name="host" exec="true">uname -n</var> |
|
7a0a364a1d67
fix user-after-free in case evt_add_request/ev_pollin fails
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
615
diff
changeset
|
6 | <var name="prefix">`pwd`/work</var> |
|
204
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
7 | </config> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
8 | |
| 515 | 9 | <dependency> |
| 10 | <lang>c</lang> | |
| 11 | </dependency> | |
| 12 | ||
|
204
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
13 | <!-- platform specific settings --> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
14 | <dependency platform="linux"> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
15 | <cflags>-DLINUX</cflags> |
|
464
0a29110b94ec
add ldap-query saf
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
458
diff
changeset
|
16 | <ldflags>-lpthread -ldl -lm -lldap -llber</ldflags> |
|
204
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
17 | <make> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
18 | # platform dependend source files |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
19 | PLATFORM_DAEMONOBJ = event_linux.o |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
20 | |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
21 | # platform dependend vars |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
22 | OBJ_EXT = .o |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
23 | LIB_EXT = .so |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
24 | APP_EXT = |
|
453
4586d534f9b5
fix build on macos
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
287
diff
changeset
|
25 | |
|
4586d534f9b5
fix build on macos
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
287
diff
changeset
|
26 | # ld flags |
|
4586d534f9b5
fix build on macos
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
287
diff
changeset
|
27 | UCX_SO_NAME = |
|
485
222557f4f595
fix configure script: escape $$ORIGIN
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
464
diff
changeset
|
28 | RPATH_WS_LIB_FLAG = -Wl,-rpath,'\$\$ORIGIN/../lib' |
|
204
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
29 | </make> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
30 | </dependency> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
31 | |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
32 | <dependency platform="bsd" not="macos"> |
|
260
4779a6fb4fbe
fix freebsd build
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
250
diff
changeset
|
33 | <cflags>-DBSD -I/usr/local/include</cflags> |
|
464
0a29110b94ec
add ldap-query saf
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
458
diff
changeset
|
34 | <ldflags>-lpthread -lm -lldap -llber</ldflags> |
|
204
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
35 | <make> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
36 | # platform dependend source files |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
37 | PLATFORM_DAEMONOBJ = event_bsd.o |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
38 | |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
39 | # platform dependend vars |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
40 | OBJ_EXT = .o |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
41 | LIB_EXT = .so |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
42 | APP_EXT = |
|
453
4586d534f9b5
fix build on macos
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
287
diff
changeset
|
43 | |
|
4586d534f9b5
fix build on macos
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
287
diff
changeset
|
44 | # ld flags |
|
4586d534f9b5
fix build on macos
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
287
diff
changeset
|
45 | UCX_SO_NAME = |
|
485
222557f4f595
fix configure script: escape $$ORIGIN
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
464
diff
changeset
|
46 | RPATH_WS_LIB_FLAG = -Wl,-rpath,'\$\$ORIGIN/../lib' |
|
204
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
47 | </make> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
48 | </dependency> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
49 | |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
50 | <dependency platform="macos"> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
51 | <cflags>-DBSD -DOSX</cflags> |
|
464
0a29110b94ec
add ldap-query saf
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
458
diff
changeset
|
52 | <ldflags>-lpthread -ldl -lm -lldap -llber</ldflags> |
|
204
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
53 | <make> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
54 | # platform dependend source files |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
55 | PLATFORM_DAEMONOBJ = event_bsd.o |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
56 | |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
57 | # platform dependend vars |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
58 | OBJ_EXT = .o |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
59 | LIB_EXT = .dylib |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
60 | APP_EXT = |
|
453
4586d534f9b5
fix build on macos
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
287
diff
changeset
|
61 | |
|
4586d534f9b5
fix build on macos
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
287
diff
changeset
|
62 | # ld flags |
|
620
a202cb1ee175
use -dynamiclib flag to build a dylib on macos
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
616
diff
changeset
|
63 | SHLIB_LDFLAGS = -dynamiclib |
|
453
4586d534f9b5
fix build on macos
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
287
diff
changeset
|
64 | UCX_SO_NAME = -install_name @rpath/libucx.dylib |
|
4586d534f9b5
fix build on macos
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
287
diff
changeset
|
65 | RPATH_WS_LIB_FLAG = -rpath @loader_path/../lib |
|
204
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
66 | </make> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
67 | </dependency> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
68 | |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
69 | <dependency platform="solaris"> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
70 | <cflags>-DSOLARIS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS</cflags> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
71 | <ldflags>-lsocket -lnsl -lsendfile -lposix4 -lpthread -ldl -lm -lmd -lldap</ldflags> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
72 | <make> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
73 | # platform dependend source files |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
74 | PLATFORM_DAEMONOBJ = event_solaris.o |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
75 | |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
76 | # platform dependend vars |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
77 | OBJ_EXT = .o |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
78 | LIB_EXT = .so |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
79 | APP_EXT = |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
80 | </make> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
81 | </dependency> |
|
616
7a0a364a1d67
fix user-after-free in case evt_add_request/ev_pollin fails
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
615
diff
changeset
|
82 | |
|
7a0a364a1d67
fix user-after-free in case evt_add_request/ev_pollin fails
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
615
diff
changeset
|
83 | <dependency> |
|
7a0a364a1d67
fix user-after-free in case evt_add_request/ev_pollin fails
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
615
diff
changeset
|
84 | <make>HOST = $host</make> |
|
7a0a364a1d67
fix user-after-free in case evt_add_request/ev_pollin fails
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
615
diff
changeset
|
85 | <make>INSTALL_DIR = $prefix</make> |
|
7a0a364a1d67
fix user-after-free in case evt_add_request/ev_pollin fails
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
615
diff
changeset
|
86 | </dependency> |
|
204
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
87 | |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
88 | <!-- library dependencies --> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
89 | <dependency name="libxml2"> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
90 | <pkgconfig>libxml-2.0</pkgconfig> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
91 | </dependency> |
|
453
4586d534f9b5
fix build on macos
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
287
diff
changeset
|
92 | <dependency name="libxml2"> |
| 511 | 93 | <cflags exec="true">xml2-config --cflags</cflags> |
| 515 | 94 | <ldflags exec="true">xml2-config --libs</ldflags> |
|
453
4586d534f9b5
fix build on macos
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
287
diff
changeset
|
95 | </dependency> |
|
204
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
96 | |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
97 | <dependency name="openssl"> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
98 | <pkgconfig>openssl</pkgconfig> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
99 | </dependency> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
100 | |
|
260
4779a6fb4fbe
fix freebsd build
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
250
diff
changeset
|
101 | <dependency name="openssl"> |
|
4779a6fb4fbe
fix freebsd build
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
250
diff
changeset
|
102 | <ldflags>-lssl -lcrypto</ldflags> |
|
4779a6fb4fbe
fix freebsd build
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
250
diff
changeset
|
103 | </dependency> |
|
453
4586d534f9b5
fix build on macos
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
287
diff
changeset
|
104 | |
|
204
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
105 | <!-- optional dependencies --> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
106 | <dependency name="libpq"> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
107 | <pkgconfig>libpq</pkgconfig> |
|
270
4cfaa02055cd
add first code for postgresql plugin: resourcepool type implementation
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
260
diff
changeset
|
108 | <make> |
|
287
a171da778817
prepare build system for postgresql plugin tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
270
diff
changeset
|
109 | CFLAGS += -DENABLE_POSTGRESQL |
|
270
4cfaa02055cd
add first code for postgresql plugin: resourcepool type implementation
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
260
diff
changeset
|
110 | PLUGINS += postgresql |
|
287
a171da778817
prepare build system for postgresql plugin tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
270
diff
changeset
|
111 | TEST_PLUGIN_LDFLAGS += -lwspgtest |
|
270
4cfaa02055cd
add first code for postgresql plugin: resourcepool type implementation
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
260
diff
changeset
|
112 | </make> |
|
204
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
113 | </dependency> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
114 | |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
115 | <target> |
|
270
4cfaa02055cd
add first code for postgresql plugin: resourcepool type implementation
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
260
diff
changeset
|
116 | <dependencies>libxml2,openssl</dependencies> |
|
4cfaa02055cd
add first code for postgresql plugin: resourcepool type implementation
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
260
diff
changeset
|
117 | </target> |
|
4cfaa02055cd
add first code for postgresql plugin: resourcepool type implementation
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
260
diff
changeset
|
118 | |
|
4cfaa02055cd
add first code for postgresql plugin: resourcepool type implementation
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
260
diff
changeset
|
119 | <target name="postgresql"> |
|
250
f4d93355b054
update configure script
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
204
diff
changeset
|
120 | <feature name="postgresql" default="false"> |
|
204
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
121 | <dependencies>libpq</dependencies> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
122 | </feature> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
123 | </target> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
124 | </project> |
|
e870a7c8f223
replace old build system with uwproj
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
125 |