make/project.xml

Sat, 25 Feb 2023 21:12:51 +0100

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Sat, 25 Feb 2023 21:12:51 +0100
changeset 458
15bf3c1796f2
parent 453
4586d534f9b5
child 464
0a29110b94ec
permissions
-rw-r--r--

fix openssl dependency resolution on bsd

<?xml version="1.0" encoding="UTF-8"?>
<project>
	<!-- makefile config -->
	<config>
		<var name="HOST" type="exec">uname -n</var>
		<var name="PREFIX">`pwd`/work</var>
		<var name="INSTALL_DIR">$PREFIX</var>
	</config>
	
	<!-- platform specific settings -->
	<dependency platform="linux">
		<cflags>-DLINUX</cflags>
		<ldflags>-lpthread -ldl -lm -lldap</ldflags>
		<make>
# platform dependend source files
PLATFORM_DAEMONOBJ = event_linux.o

# platform dependend vars
OBJ_EXT = .o
LIB_EXT = .so
APP_EXT =

# ld flags
UCX_SO_NAME =
RPATH_WS_LIB_FLAG = -Wl,-rpath,'$$ORIGIN/../lib'
		</make>
	</dependency>
	
	<dependency platform="bsd" not="macos">
		<cflags>-DBSD -I/usr/local/include</cflags>
		<ldflags>-lpthread -lm -lldap</ldflags>
		<make>
# platform dependend source files
PLATFORM_DAEMONOBJ = event_bsd.o

# platform dependend vars
OBJ_EXT = .o
LIB_EXT = .so
APP_EXT =

# ld flags
UCX_SO_NAME =
RPATH_WS_LIB_FLAG = -Wl,-rpath,'$$ORIGIN/../lib'
		</make>
	</dependency>
	
	<dependency platform="macos">
		<cflags>-DBSD -DOSX</cflags>
		<ldflags>-lpthread -ldl -lm -lldap</ldflags>
		<make>
# platform dependend source files
PLATFORM_DAEMONOBJ = event_bsd.o

# platform dependend vars
OBJ_EXT = .o
LIB_EXT = .dylib
APP_EXT =

# ld flags
UCX_SO_NAME = -install_name @rpath/libucx.dylib
RPATH_WS_LIB_FLAG = -rpath @loader_path/../lib
		</make>
	</dependency>
	
	<dependency platform="solaris">
		<cflags>-DSOLARIS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS</cflags>
		<ldflags>-lsocket -lnsl -lsendfile -lposix4 -lpthread -ldl -lm -lmd -lldap</ldflags>
		<make>
# platform dependend source files
PLATFORM_DAEMONOBJ = event_solaris.o

# platform dependend vars
OBJ_EXT = .o
LIB_EXT = .so
APP_EXT =
		</make>
	</dependency>

	<!-- library dependencies -->
	<dependency name="libxml2">
		<pkgconfig>libxml-2.0</pkgconfig>
	</dependency>
	<dependency name="libxml2">
		<cflags type="exec">xml2-config --cflags</cflags>
		<lfglags type="exec">xml2-config --libs</lfglags>
	</dependency>
	
	<dependency name="openssl">
		<pkgconfig>openssl</pkgconfig>
	</dependency>
	
	<dependency name="openssl">
		<ldflags>-lssl -lcrypto</ldflags>
	</dependency>

	<!-- optional dependencies -->
	<dependency name="libpq">
		<pkgconfig>libpq</pkgconfig>
		<make>
CFLAGS += -DENABLE_POSTGRESQL
PLUGINS += postgresql
TEST_PLUGIN_LDFLAGS += -lwspgtest
		</make>
	</dependency>
	
	<target>
		<dependencies>libxml2,openssl</dependencies>
	</target>
	
	<target name="postgresql">
		<feature name="postgresql" default="false">
			<dependencies>libpq</dependencies>
		</feature>
	</target>
</project>

mercurial