Import Geant4 6.1.0 source tree
This commit is contained in:
+15
-12
@@ -3,15 +3,19 @@
|
||||
#
|
||||
# MacOS 10.1 GNU-gcc 2.92.2
|
||||
# MacOS 10.2 there is g++2 and g++3, choose consistently one,
|
||||
# like g++2 which is 2.95.2
|
||||
# use echo -n (there is not the echo -e option of Linux)
|
||||
# like g++2 which is 2.95.2, g++3 for 3.X.
|
||||
# MacOS 10.3 use default MacOS-X compiler (g++) as the default.
|
||||
# Have commands to build the .dylib (MacOS-X shared libs)
|
||||
#
|
||||
# Helmut Burkhardt - CERN
|
||||
# Use echo -n (there is not the 'echo -e' option of Linux)
|
||||
#
|
||||
# Author: Helmut Burkhardt - CERN
|
||||
#
|
||||
ifeq ($(G4SYSTEM),Darwin-g++)
|
||||
# choice of GNU compilers:
|
||||
CXX := g++2
|
||||
# CXX := g++3
|
||||
# choice of compiler (take, as default, the MacOS default) :
|
||||
# CXX := g++2
|
||||
# CXX := g++3
|
||||
CXX := g++
|
||||
CXXFLAGS := -Wall -ansi -pedantic -pipe
|
||||
# optionally add verbose flag
|
||||
# CXXFLAGS += -v
|
||||
@@ -36,12 +40,12 @@ ifeq ($(G4SYSTEM),Darwin-g++)
|
||||
FCFLAGS += -fPIC
|
||||
CCFLAGS += -fPIC
|
||||
endif
|
||||
G4RUNPATHOPTION := -Wl,-rpath
|
||||
# G4RUNPATHOPTION := -Wl,-rpath
|
||||
FC := g77
|
||||
FCFLAGS += -fno-automatic -fno-backslash -fno-second-underscore
|
||||
FCLIBS := -lg2c -lnsl
|
||||
ECHO := /bin/echo -n
|
||||
SHEXT := so
|
||||
SHEXT := dylib
|
||||
X11FLAGS := -I/usr/include/X11/extensions -I/usr/include/X11
|
||||
X11LIBS := -L/usr/X11R6/lib -lXmu -lXt -lXext -lX11 -lSM -lICE
|
||||
XMFLAGS := -I/usr/X11R6/include
|
||||
@@ -60,13 +64,12 @@ ifeq ($(G4SYSTEM),Darwin-g++)
|
||||
define build-granular-shared-lib
|
||||
@libdir=`(cd $(@D);/bin/pwd)`; \
|
||||
cd $(G4TMPDIR); \
|
||||
$(CXX) -Wl,-soname,$(@F) -shared -o $$libdir/$(@F) *.o
|
||||
g++ -dynamiclib -flat_namespace -undefined suppress -o $$libdir/$(@F) $(INTYLIBS) *.o
|
||||
endef
|
||||
define build-global-shared-lib
|
||||
@libdir=`(cd $(@D);/bin/pwd)`; \
|
||||
libdir=`(cd $(@D);/bin/pwd)`; \
|
||||
cd $(G4TMP)/$(G4SYSTEM); \
|
||||
$(CXX) -Wl,-soname,$(@F) -shared -o $$libdir/$(@F) \
|
||||
$(foreach dir,$(SUBLIBS),$(dir)/*.o);
|
||||
g++ -dynamiclib -flat_namespace -undefined suppress -o $$libdir/$(@F) $(INTYLIBS) $(foreach dir,$(SUBLIBS),$(dir)/*.o);
|
||||
endef
|
||||
|
||||
endif
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
#
|
||||
# ------ GNU/LINUX ------ !!! not supported !!!
|
||||
# Intel icc 8.0
|
||||
ifeq ($(G4SYSTEM),Linux-icc)
|
||||
CXX := icc
|
||||
CXXFLAGS := -ansi -mp -no-gcc -w1
|
||||
ifdef G4OPTIMISE
|
||||
CXXFLAGS += -O
|
||||
FCFLAGS := -O
|
||||
CCFLAGS := -O
|
||||
else
|
||||
ifdef G4DEBUG
|
||||
CXXFLAGS += -g
|
||||
FCFLAGS := -g
|
||||
CCFLAGS := -g
|
||||
endif
|
||||
endif
|
||||
ifdef G4PROFILE
|
||||
CXXFLAGS += -qp
|
||||
FCFLAGS += -qp
|
||||
CCFLAGS += -pg
|
||||
endif
|
||||
ifdef G4LIB_BUILD_SHARED
|
||||
CXXFLAGS += -fPIC
|
||||
FCFLAGS += -fPIC
|
||||
CCFLAGS += -fPIC
|
||||
endif
|
||||
G4RUNPATHOPTION := -Xlinker -rpath
|
||||
CC := gcc
|
||||
FC := g77
|
||||
FCFLAGS += -fno-automatic -fno-backslash -fno-second-underscore
|
||||
FCLIBS := -lg2c -lnsl
|
||||
AR := xiar r
|
||||
ECHO := /bin/echo -e
|
||||
SHEXT := so
|
||||
X11FLAGS := -I/usr/include/X11/extensions -I/usr/include/X11
|
||||
X11LIBS := -L/usr/X11R6/lib -lXmu -lXt -lXext -lX11 -lSM -lICE
|
||||
XMFLAGS := -I/usr/X11R6/include
|
||||
XMLIBS := -lXm -lXpm
|
||||
DLDLIBS := -ldl
|
||||
ifndef OGLFLAGS
|
||||
OGLFLAGS := -I$(OGLHOME)/include
|
||||
endif
|
||||
ifndef OGLLIBS
|
||||
OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL
|
||||
endif
|
||||
OIVFLAGS += -I$(OIHOME)/include
|
||||
define build-granular-shared-lib
|
||||
@libdir=`(cd $(@D);/bin/pwd)`; \
|
||||
cd $(G4TMPDIR); \
|
||||
$(CXX) -Wl,-soname,$(@F) -shared -o $$libdir/$(@F) $(INTYLIBS) *.o
|
||||
endef
|
||||
define build-global-shared-lib
|
||||
@libdir=`(cd $(@D);/bin/pwd)`; \
|
||||
cd $(G4TMP)/$(G4SYSTEM); \
|
||||
$(CXX) -Wl,-soname,$(@F) -shared -o $$libdir/$(@F) $(INTYLIBS) \
|
||||
$(foreach dir,$(SUBLIBS),$(dir)/*.o);
|
||||
endef
|
||||
|
||||
endif
|
||||
@@ -15,6 +15,7 @@ ifeq ($(G4SYSTEM),WIN32-VC7)
|
||||
CPPFLAGS += -DWIN32 -DXPNET
|
||||
LDFLAGS += -FORCE /NODEFAULTLIB:MSVCRT.dll
|
||||
|
||||
SHEXT := dll
|
||||
AR := LIB
|
||||
ECHO := echo -e
|
||||
FC := g77
|
||||
@@ -29,11 +30,63 @@ ifeq ($(G4SYSTEM),WIN32-VC7)
|
||||
UI32LIBS := gdi32.lib user32.lib
|
||||
endif
|
||||
|
||||
#
|
||||
# Building DLLs (from G.Barrand)
|
||||
# -------------
|
||||
# The below commands permit to build DLLs from the archive libraries.
|
||||
# From a libG4xxx.a, it will extract the symbols with :
|
||||
# DOS> dumpbin /symbols libG4xxx.a > G4xxx.dumpbin
|
||||
# After that it will produce a G4xxx.def using the 'win32def' program.
|
||||
# The G4xxx.def file will contain the list of symbols that are "exported"
|
||||
# or made public for using the DLLs.
|
||||
# The source win32def.c is in config/sys. The binary is built during the
|
||||
# library installation process, and will be placed in $G4LIB/G4SYSTEM.
|
||||
# If can also be built as follows :
|
||||
# DOS> cl.exe /Fowin32def.exe win32def.c
|
||||
# Then, to use it :
|
||||
# DOS> win32def G4xxx < G4xxx.dumpbin > G4xxx.def
|
||||
# Libraries libG4xxx.lib can also be built with :
|
||||
# DOS> lib /def:G4xxx.def /out:libG4xxx.lib
|
||||
# It also produces a libG4xxx.exp used to build the DLL.
|
||||
# The DLL can be built with :
|
||||
# DOS> link /dll /out:G4xxx.dll libG4xxx.exp libG4xxx.a <dependencies>
|
||||
# Note that a DLL must be fully linked. You should NOT have undefined
|
||||
# symbols as output of the link command.
|
||||
#
|
||||
define build-granular-shared-lib
|
||||
@echo "Shared Libraries not supported on $(G4SYSTEM)
|
||||
@libdir=`(cd $(@D);/bin/pwd)`;\
|
||||
cd $(G4TMP)/$(G4SYSTEM);\
|
||||
echo "Building $(name).dumpbin file";\
|
||||
$(RM) $(name).dumpbin;\
|
||||
dumpbin /symbols $(G4LIBDIR)/lib$(name).a > $(name).dumpbin;\
|
||||
echo "Building $(name).def file";\
|
||||
$(RM) $(name).def;\
|
||||
$(G4LIBDIR)/win32def.exe $(name) < $(name).dumpbin > $(name).def;\
|
||||
$(RM) $(name).dumpbin;\
|
||||
echo "Building lib$(name).exp and lib$(name).lib file";\
|
||||
$(RM) $(G4LIBDIR)/lib$(name).exp;\
|
||||
$(RM) $(G4LIBDIR)/lib$(name).lib;\
|
||||
lib.exe /nologo /machine:ix86 /def:$(name).def /out:$(G4LIBDIR)/lib$(name).lib;\
|
||||
$(RM) $(G4LIBDIR)/$(name).dll;\
|
||||
echo "Building $(name).dll file";\
|
||||
link.exe /nologo /dll /out:$(G4LIBDIR)/$(name).dll $(G4LIBDIR)/lib$(name).exp $(G4LIBDIR)/lib$(name).a /libpath:$(G4LIBDIR) $(GLOBLIBS) $(LIB_PATH)$(CLHEP_LIB_DIR) $(CLHEP_LIB)
|
||||
endef
|
||||
define build-global-shared-lib
|
||||
@echo "Shared Libraries not supported on $(G4SYSTEM)
|
||||
@libdir=`(cd $(@D);/bin/pwd)`;\
|
||||
cd $(G4TMP)/$(G4SYSTEM);\
|
||||
echo "Building $(name).dumpbin file";\
|
||||
$(RM) $(name).dumpbin;\
|
||||
dumpbin /symbols $(G4LIBDIR)/lib$(name).a > $(name).dumpbin;\
|
||||
echo "Building $(name).def file";\
|
||||
$(RM) $(name).def;\
|
||||
$(G4LIBDIR)/win32def.exe $(name) < $(name).dumpbin > $(name).def;\
|
||||
$(RM) $(name).dumpbin;\
|
||||
echo "Building lib$(name).exp and lib$(name).lib file";\
|
||||
$(RM) $(G4LIBDIR)/lib$(name).exp;\
|
||||
$(RM) $(G4LIBDIR)/lib$(name).lib;\
|
||||
lib.exe /nologo /machine:ix86 /def:$(name).def /out:$(G4LIBDIR)/lib$(name).lib;\
|
||||
$(RM) $(G4LIBDIR)/$(name).dll;\
|
||||
echo "Building $(name).dll file";\
|
||||
link.exe /nologo /dll /out:$(G4LIBDIR)/$(name).dll $(G4LIBDIR)/lib$(name).exp $(G4LIBDIR)/lib$(name).a /libpath:$(G4LIBDIR) $(GLOBLIBS) $(LIB_PATH)$(CLHEP_LIB_DIR) $(CLHEP_LIB)
|
||||
endef
|
||||
|
||||
endif
|
||||
|
||||
Reference in New Issue
Block a user