diff options
Diffstat (limited to 'ACE/include/makeinclude/platform_freebsd.GNU')
-rw-r--r-- | ACE/include/makeinclude/platform_freebsd.GNU | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/ACE/include/makeinclude/platform_freebsd.GNU b/ACE/include/makeinclude/platform_freebsd.GNU new file mode 100644 index 00000000000..a40ffbef07e --- /dev/null +++ b/ACE/include/makeinclude/platform_freebsd.GNU @@ -0,0 +1,70 @@ +# $Id$ + +# platform_freebsd.GNU + +## See /usr/ports/Mk/bsd.port.mk for sample usage of the OSVERSION +## variable, especially with respect to defining the correct compiler +## flags for threads. +OSVERSION := $(shell sysctl -n kern.osreldate) + +## GNU make does not support boolean conditional expressions +## so we have to use a dummy RET variable. +RET = $(shell test $(OSVERSION) -ge 200000 && printf 1) +ifeq ($(RET),1) +versioned_so = 1 +endif + +exceptions ?= 1 +threads ?= 1 +debug ?= 1 +optimize ?= 1 +pipes ?= 1 + +CC = gcc +CXX = g++ + +CFLAGS += -W -Wall -Wpointer-arith +DCFLAGS += -g +RET = $(shell test $(OSVERSION) -ge 300000 && printf 1) +ifneq ($(RET),1) + LDFLAGS += -Wl,-rpath $(ACE_ROOT)/lib +endif +DLD = $(CXX) +LD = $(CXX) +OCFLAGS += -O2 +PIC = -fpic +AR = ar +ARFLAGS = ruv +RANLIB = ranlib + +SOFLAGS += $(CPPFLAGS) -shared +SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $< +PRELIB = @echo + +## Set the correct compiler flags for pthreads. This +## test is copied from /usr/ports/Mk/bsd.port.mk +ifeq ($(threads),1) +RET = $(shell test $(OSVERSION) -lt 500016 && printf 1) +ifeq ($(RET),1) + PTHREAD_CFLAGS = -D_THREAD_SAFE + PTHREAD_LIBS = -pthread +else + RET = $(shell test $(OSVERSION) -lt 502102 && printf 1) + ifeq ($(RET),1) + PTHREAD_LIBS = -lc_r + else + PTHREAD_LIBS = -lpthread + endif +endif # RET + +CFLAGS += $(PTHREAD_CFLAGS) +LIBS += $(PTHREAD_LIBS) + +endif # threads + +# Test for template instantiation, add to SOFLAGS if SONAME set, +# add -E to LDFLAGS if using GNU ld +# +include $(ACE_ROOT)/include/makeinclude/platform_g++_common.GNU + +CCFLAGS += $(CFLAGS) $(TEMPLATES_FLAG) |