diff --git a/config/CONFIG.Host.Darwin b/config/CONFIG.Host.Darwin index 89d326f10..840ea96ce 100644 --- a/config/CONFIG.Host.Darwin +++ b/config/CONFIG.Host.Darwin @@ -8,13 +8,29 @@ ARCH_CLASS = Darwin # Include definitions common to all Unix archs include $(EPICS_BASE)/config/CONFIG.Host.UnixCommon -#AR = ar -rc -#ARCMD = $(AR) $@ -#RANLIB = ranlib -t - -CC=cc -CXX=c++ +# +# The config files are a real mess. The following set of definitions +# seems to work for all the weird ways in which the extensions makefile +# fragments use them. +# +ANSI = GCC +CPLUSPLUS = c++ +CC = cc +CXX= c++ +GCC = cc OP_SYS_CFLAGS += -no-cpp-precomp OP_SYS_INCLUDES = -I/sw/include -I/usr/X11R6/include OP_SYS_LDFLAGS += -L/sw/lib -L/usr/X11R6/lib + +# +# Compiler/linker problems prevent the use of shared libraries at the moment +# +SHARED_LIBRARIES_Darwin = NO + +# +# Something like this will be needed once shared libraries are built +# +SHRLIB_SUFFIX = .dylib$(SHARED_LIBRARIES) +GCC_SHRLIB_LDFLAGS_YES += -dynamiclib -flat_namespace +G++_SHRLIB_LDFLAGS_YES += -dynamiclib -flat_namespace diff --git a/configure/os/CONFIG.Common.darwin-ppc b/configure/os/CONFIG.Common.darwin-ppc index e48bc1263..c496013a3 100644 --- a/configure/os/CONFIG.Common.darwin-ppc +++ b/configure/os/CONFIG.Common.darwin-ppc @@ -37,6 +37,6 @@ OP_SYS_LDLIBS += -lreadline # # Stuff that will be needed when going to shared libraries -# -SHRLIB_LDFLAGS = -dynamiclib +# -compatibility_version $(SHRLIB_VERSION) -current_version $(SHRLIB_VERSION).1 +SHRLIB_LDFLAGS = -dynamiclib -flat_namespace -undefined suppress SHRLIB_SUFFIX = $(addprefix .,$(SHRLIB_VERSION)).dylib