diff --git a/configure/os/CONFIG.Common.darwin-fat b/configure/os/CONFIG.Common.darwin-fat new file mode 100644 index 000000000..29724eebf --- /dev/null +++ b/configure/os/CONFIG.Common.darwin-fat @@ -0,0 +1,22 @@ +# CONFIG.Common.darwin-fat +# +# $Id$ +# This file is maintained by the build community. +# +# Definitions for darwin-fat target builds +# Sites may override these definitions in CONFIG_SITE.Common.darwin-fat +#------------------------------------------------------- + +# +# Set architecture-specific information +# +ARCH_CLASS = fat + +# +# Universal binary support +# +OP_SYS_CFLAGS += -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc +OP_SYS_LDFLAGS += -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc + +# Include definitions common to all Darwin targets +include $(CONFIG)/os/CONFIG.darwinCommon.darwinCommon diff --git a/configure/os/CONFIG.Common.darwin-ppc b/configure/os/CONFIG.Common.darwin-ppc index 3ce4c604f..7ac7c8a01 100644 --- a/configure/os/CONFIG.Common.darwin-ppc +++ b/configure/os/CONFIG.Common.darwin-ppc @@ -7,52 +7,10 @@ # Sites may override these definitions in CONFIG_SITE.Common.darwin-ppc #------------------------------------------------------- -# Include definitions common to all Unix targets -include $(CONFIG)/os/CONFIG.Common.UnixCommon - # -# Set OS-specific information +# Architecture-specific information # -OS_CLASS = Darwin ARCH_CLASS = ppc -# -# Special flags for Darwin -# No common blocks (as required when using shared libraries) -# -OP_SYS_CFLAGS += -fno-common - -# -# Don't try to use precompiled headers when converting sequencer files -# -CPPSNCFLAGS += -no-cpp-precomp - -# -# Darwin os definition -# -OP_SYS_CPPFLAGS += -Ddarwin - -# -# The following two definitions enable the use of DarwinPorts packages. - -# -OP_SYS_INCLUDES += -I/opt/local/include -# dir/firstword/wildcard used to avoid warning -L: directory name (...) does not exist -OP_SYS_LDFLAGS += $(addprefix -L,$(dir $(firstword $(wildcard /opt/local/lib/*)))) - -# -# The following two definitions enable the use of Fink packages. -# -OP_SYS_INCLUDES += -I/sw/include -# dir/firstword/wildcard used to avoid warning -L: directory name (...) does not exist -OP_SYS_LDFLAGS += $(addprefix -L,$(dir $(firstword $(wildcard /sw/lib/*)))) - -# -# Libraries for command-line editing. -# -LDLIBS_READLINE = -lreadline - -# -# Command-line input support -# -COMMANDLINE_LIBRARY=READLINE +# Include definitions common to all Darwin targets +include $(CONFIG)/os/CONFIG.darwinCommon.darwinCommon diff --git a/configure/os/CONFIG.Common.darwin-x86 b/configure/os/CONFIG.Common.darwin-x86 new file mode 100644 index 000000000..e34dce1dd --- /dev/null +++ b/configure/os/CONFIG.Common.darwin-x86 @@ -0,0 +1,16 @@ +# CONFIG.Common.darwin-x86 +# +# $Id$ +# This file is maintained by the build community. +# +# Definitions for darwin-x86 target builds +# Sites may override these definitions in CONFIG_SITE.Common.darwin-x86 +#------------------------------------------------------- + +# +# Architecture-specific information +# +ARCH_CLASS = x86 + +# Include definitions common to all Darwin targets +include $(CONFIG)/os/CONFIG.darwinCommon.darwinCommon diff --git a/configure/os/CONFIG.darwin-fat.Common b/configure/os/CONFIG.darwin-fat.Common new file mode 100644 index 000000000..184cd1b29 --- /dev/null +++ b/configure/os/CONFIG.darwin-fat.Common @@ -0,0 +1,11 @@ +# CONFIG.darwin-fat.Common +# +# $Id$ +# This file is maintained by the build community. +# +# Definitions for darwin-fat host builds +# Sites may override these definitions in CONFIG_SITE.darwin-fat.Common +#------------------------------------------------------- + +#Include definitions common to unix hosts +include $(CONFIG)/os/CONFIG.UnixCommon.Common diff --git a/configure/os/CONFIG.darwin-x86.Common b/configure/os/CONFIG.darwin-x86.Common new file mode 100644 index 000000000..6d2ac9c36 --- /dev/null +++ b/configure/os/CONFIG.darwin-x86.Common @@ -0,0 +1,11 @@ +# CONFIG.darwin-x86.Common +# +# $Id$ +# This file is maintained by the build community. +# +# Definitions for darwin-x86 host builds +# Sites may override these definitions in CONFIG_SITE.darwin-x86.Common +#------------------------------------------------------- + +#Include definitions common to unix hosts +include $(CONFIG)/os/CONFIG.UnixCommon.Common diff --git a/configure/os/CONFIG.darwinCommon.darwinCommon b/configure/os/CONFIG.darwinCommon.darwinCommon new file mode 100644 index 000000000..15e056a23 --- /dev/null +++ b/configure/os/CONFIG.darwinCommon.darwinCommon @@ -0,0 +1,101 @@ +# CONFIG.Common.darwinCommon +# +# $Id$ +# This file is maintained by the build community. +# +# Definitions for darwin target builds +# Sites may override these definitions in CONFIG_SITE.Common.darwin- +#------------------------------------------------------- + +# Include definitions common to all Unix targets +include $(CONFIG)/os/CONFIG.Common.UnixCommon + +# +# Set OS-specific information +# +OS_CLASS = Darwin + +# +# Special flags for Darwin +# No common blocks (as required when using shared libraries) +# +OP_SYS_CFLAGS += -fno-common + +# +# Don't try to use precompiled headers when converting sequencer files +# +CPPSNCFLAGS += -no-cpp-precomp + +# +# Darwin os definition +# +OP_SYS_CPPFLAGS += -Ddarwin + +# +# Always compile in debugging symbol table information +# +OPT_CFLAGS_YES += -g +OPT_CXXFLAGS_YES += -g + +# +# The following two definitions enable the use of DarwinPorts packages. +# +OP_SYS_INCLUDES += -I/opt/local/include +# dir/firstword/wildcard used to avoid warning -L: directory name (...) does not exist +OP_SYS_LDFLAGS += $(addprefix -L,$(dir $(firstword $(wildcard /opt/local/lib/*)))) + +# +# The following two definitions enable the use of Fink packages. +# +OP_SYS_INCLUDES += -I/sw/include +# dir/firstword/wildcard used to avoid warning -L: directory name (...) does not exist +OP_SYS_LDFLAGS += $(addprefix -L,$(dir $(firstword $(wildcard /sw/lib/*)))) + +# +# Libraries for command-line editing. +# +LDLIBS_READLINE = -lreadline + +# +# Command-line input support +# +COMMANDLINE_LIBRARY=READLINE + +# Include common gnu compiler definitions +include $(CONFIG)/CONFIG.gnuCommon + +GNU_DIR = /usr + +CC = $(GNU_BIN)/cc +CCC = $(GNU_BIN)/c++ + +# +# Darwin shared libraries +# +SHRLIB_VERSION = $(EPICS_VERSION).$(EPICS_REVISION).$(EPICS_MODIFICATION) +SHRLIB_LDFLAGS = -dynamiclib -flat_namespace -undefined suppress \ + -install_name $(firstword $(SHRLIB_SEARCH_FULLPATHDIRS))/$@ \ + -compatibility_version $(EPICS_VERSION).$(EPICS_REVISION) \ + -current_version $(SHRLIB_VERSION) +SHRLIB_SUFFIX = .$(SHRLIB_VERSION).dylib + +LOADABLE_SHRLIB_LDFLAGS = -bundle -flat_namespace -undefined suppress + +# +# Position-independent code is the default on Darwin. +# +CODE_CFLAGS = +CODE_CXXFLAGS = + +# +# Add support for Objective-C source +# +vpath %.m $(USR_VPATH) $(ALL_SRC_DIRS) +%.o: %.m + $(COMPILE.c) -c $< + +# +# Pedantic produces way too many unnecessary messages +# +CONFORM_CFLAGS_STRICT=-ansi +CONFORM_CXXFLAGS_STRICT=-ansi diff --git a/configure/os/CONFIG_SITE.darwin-ppc.Common b/configure/os/CONFIG_SITE.darwin-ppc.Common index 84d9f7b23..732d753fb 100644 --- a/configure/os/CONFIG_SITE.darwin-ppc.Common +++ b/configure/os/CONFIG_SITE.darwin-ppc.Common @@ -6,4 +6,4 @@ # Site override definitions for darwin-ppc host builds #------------------------------------------------------- -# CROSS_COMPILER_TARGET_ARCHS = RTEMS-uC5282 +CROSS_COMPILER_TARGET_ARCHS = RTEMS-uC5282 RTEMS-mvme5500 RTEMS-mvme2100