Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/config/sys/Darwin-clang.gmk

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /config/sys/Darwin-clang.gmk (Version 11.3.0) and /config/sys/Darwin-clang.gmk (Version 11.1)


  1 #                                                   1 #
  2 # ------ macOS ------                               2 # ------ macOS ------
  3 #                                 macOS, Apple      3 #                                 macOS, Apple clang-12 and higher
  4 #                                                   4 #
  5 # Original author: Gabriele Cosmo - CERN            5 # Original author: Gabriele Cosmo - CERN
  6 #                                                   6 #
  7 ifeq ($(G4SYSTEM),Darwin-clang)                     7 ifeq ($(G4SYSTEM),Darwin-clang)
  8   CXX       := clang++                              8   CXX       := clang++
  9   CXXFLAGS  := -Wall -Wno-non-virtual-dtor -Wn      9   CXXFLAGS  := -Wall -Wno-non-virtual-dtor -Wno-long-long
 10   CXXFLAGS  += -Wwrite-strings -Wpointer-arith     10   CXXFLAGS  += -Wwrite-strings -Wpointer-arith -Woverloaded-virtual
 11   CXXFLAGS  += -Wno-variadic-macros -Wshadow -     11   CXXFLAGS  += -Wno-variadic-macros -Wshadow -pipe
 12   CXXFLAGS  += -fno-trapping-math -ftree-vecto     12   CXXFLAGS  += -fno-trapping-math -ftree-vectorize -fno-math-errno
 13   CPPFLAGS  += -DGL_SILENCE_DEPRECATION            13   CPPFLAGS  += -DGL_SILENCE_DEPRECATION
 14   CPPFLAGS  += -std=c++17                          14   CPPFLAGS  += -std=c++17
 15   CXXFLAGS  += -std=c++17                          15   CXXFLAGS  += -std=c++17
 16   G4USE_STD17 := 1                                 16   G4USE_STD17 := 1
 17   ifdef G4MULTITHREADED                            17   ifdef G4MULTITHREADED
 18     CXXFLAGS += -ftls-model=initial-exec -pthr     18     CXXFLAGS += -ftls-model=initial-exec -pthread
 19   endif                                            19   endif
 20   ifdef G4OPTIMISE                                 20   ifdef G4OPTIMISE
 21     CXXFLAGS  += -O3                               21     CXXFLAGS  += -O3
 22     FCFLAGS   := -O3                               22     FCFLAGS   := -O3
 23     CCFLAGS   := -O3                               23     CCFLAGS   := -O3
 24   else                                             24   else
 25     ifdef G4DEBUG                                  25     ifdef G4DEBUG
 26       CXXFLAGS  += -g                              26       CXXFLAGS  += -g
 27       FCFLAGS   := -g                              27       FCFLAGS   := -g
 28       CCFLAGS   := -g                              28       CCFLAGS   := -g
 29     endif                                          29     endif
 30   endif                                            30   endif
 31   ifdef G4PROFILE                                  31   ifdef G4PROFILE
 32     CXXFLAGS  += -pg                               32     CXXFLAGS  += -pg
 33     FCFLAGS   += -pg                               33     FCFLAGS   += -pg
 34     CCFLAGS   += -pg                               34     CCFLAGS   += -pg
 35   endif                                            35   endif
 36   ifdef G4OPTDEBUG                                 36   ifdef G4OPTDEBUG
 37     CXXFLAGS  += -O2 -g                            37     CXXFLAGS  += -O2 -g
 38     FCFLAGS   += -O2 -g                            38     FCFLAGS   += -O2 -g
 39     CCFLAGS   += -O2 -g                            39     CCFLAGS   += -O2 -g
 40   endif                                            40   endif
 41   G4RUNPATHOPTION := -Wl,-rpath,                   41   G4RUNPATHOPTION := -Wl,-rpath, 
 42 #  G4STATIC_MODE += -Wl,-force_load                42 #  G4STATIC_MODE += -Wl,-force_load
 43   FC := gfortran                                   43   FC := gfortran
 44   FCFLAGS += -fno-automatic -fno-backslash -fn     44   FCFLAGS += -fno-automatic -fno-backslash -fno-second-underscore
 45   LDFLAGS += -bind_at_load                         45   LDFLAGS += -bind_at_load
 46   FCLIBS := -lg2c -lnsl                            46   FCLIBS := -lg2c -lnsl
 47   SHEXT   := dylib                                 47   SHEXT   := dylib
 48   LOADLIBS += -lm                                  48   LOADLIBS += -lm
 49   ifndef X11FLAGS                                  49   ifndef X11FLAGS
 50     X11FLAGS  := -I/usr/X11/include                50     X11FLAGS  := -I/usr/X11/include
 51   endif                                            51   endif
 52   ifndef X11LIBS                                   52   ifndef X11LIBS
 53     X11LIBS   := -L/usr/X11/lib  -lXmu -lXt -l     53     X11LIBS   := -L/usr/X11/lib  -lXmu -lXt -lXext -lX11 -lSM -lICE
 54   endif                                            54   endif
 55   ifndef XMFLAGS                                   55   ifndef XMFLAGS
 56     XMFLAGS   := -I/usr/local/include              56     XMFLAGS   := -I/usr/local/include
 57 #   XMFLAGS   := -I/usr/X11/include          #     57 #   XMFLAGS   := -I/usr/X11/include          ##### some installations.
 58   endif                                            58   endif
 59   ifndef XMLIBS                                    59   ifndef XMLIBS
 60     XMLIBS    := -L/usr/local/lib -lXm -lXpm       60     XMLIBS    := -L/usr/local/lib -lXm -lXpm
 61 #   XMLIBS    := -L/usr/X11/lib -lXm -lXpm   #     61 #   XMLIBS    := -L/usr/X11/lib -lXm -lXpm   ##### some installations.
 62   endif                                            62   endif
 63   ifndef XAWFLAGS                                  63   ifndef XAWFLAGS
 64     XAWFLAGS   := -I/usr/local/include             64     XAWFLAGS   := -I/usr/local/include
 65 #   XAWFLAGS   := -I/usr/X11/include         #     65 #   XAWFLAGS   := -I/usr/X11/include         ##### some installations.
 66   endif                                            66   endif
 67   ifndef XAWLIBS                                   67   ifndef XAWLIBS
 68     XAWLIBS    := -lXaw                            68     XAWLIBS    := -lXaw
 69   endif                                            69   endif
 70   DLDLIBS   := -ldl                                70   DLDLIBS   := -ldl
 71   ifndef OGLHOME                                   71   ifndef OGLHOME
 72     OGLHOME  := /usr/X11                           72     OGLHOME  := /usr/X11
 73   endif                                            73   endif
 74   ifndef OGLFLAGS                                  74   ifndef OGLFLAGS
 75     OGLFLAGS  := -I$(OGLHOME)/include              75     OGLFLAGS  := -I$(OGLHOME)/include 
 76   endif                                            76   endif
 77   ifndef OGLLIBS                                   77   ifndef OGLLIBS
 78     OGLPATH  := $(shell test -f /Library/Frame     78     OGLPATH  := $(shell test -f /Library/Frameworks/OpenGL.framework/OpenGL && echo "/Library/Frameworks/OpenGL.framework")
 79     ifneq ($(OGLPATH),/Library/Frameworks/Open     79     ifneq ($(OGLPATH),/Library/Frameworks/OpenGL.framework)
 80       OGLPATH  := $(shell test -f /System/Libr     80       OGLPATH  := $(shell test -f /System/Library/Frameworks/OpenGL.framework/OpenGL && echo "/System/Library/Frameworks/OpenGL.framework")
 81     endif                                          81     endif
 82     ifneq ($(OGLPATH),)                            82     ifneq ($(OGLPATH),)
 83       OGLLIBS := -F$(OGLPATH)/.. -framework Op     83       OGLLIBS := -F$(OGLPATH)/.. -framework OpenGL -framework AGL 
 84     else                                           84     else
 85       OGLLIBS := -L$(OGLHOME)/lib -lGL             85       OGLLIBS := -L$(OGLHOME)/lib -lGL
 86     endif                                          86     endif
 87   endif                                            87   endif
 88                                                    88 
 89 # ---- Qt Setup block ------------------------     89 # ---- Qt Setup block -------------------------------------------------------
 90                                                    90 
 91   ifndef QTHOME                                    91   ifndef QTHOME
 92     QTHOME := /Library/Frameworks                  92     QTHOME := /Library/Frameworks
 93   endif                                            93   endif
 94   ifndef QT_VERSION                            << 
 95     QT_VERSION := 5                            << 
 96   endif                                        << 
 97   ifeq ($(QTHOME),/Library/Frameworks)             94   ifeq ($(QTHOME),/Library/Frameworks)
 98     ifndef QTMOC                                   95     ifndef QTMOC
 99       QTMOC      := /usr/bin/moc                   96       QTMOC      := /usr/bin/moc
100     endif                                          97     endif
101     ifndef QTFLAGS                                 98     ifndef QTFLAGS
102       QTFLAGS   := -I $(QTHOME)/QtCore.framewo     99       QTFLAGS   := -I $(QTHOME)/QtCore.framework/Headers
103       QTFLAGS   += -I $(QTHOME)/QtGui.framewor    100       QTFLAGS   += -I $(QTHOME)/QtGui.framework/Headers
104       QTFLAGS   += -I $(QTHOME)/QtWidgets.fram    101       QTFLAGS   += -I $(QTHOME)/QtWidgets.framework/Headers
105       QTFLAGS   += -I $(QTHOME)/QtOpenGL.frame    102       QTFLAGS   += -I $(QTHOME)/QtOpenGL.framework/Headers
106       QTFLAGS   += -I $(QTHOME)/Qt3DCore.frame    103       QTFLAGS   += -I $(QTHOME)/Qt3DCore.framework/Headers
107       QTFLAGS   += -I $(QTHOME)/Qt3DExtras.fra    104       QTFLAGS   += -I $(QTHOME)/Qt3DExtras.framework/Headers
108       QTFLAGS   += -I $(QTHOME)/Qt3DRender.fra    105       QTFLAGS   += -I $(QTHOME)/Qt3DRender.framework/Headers
109       ifeq ($(QT_VERSION),6)                   << 
110         QTFLAGS   += -I $(QTHOME)/QtOpenGLWidg << 
111       endif                                    << 
112       QTFLAGS   += -I $(QTHOME)/include/Qt -I$    106       QTFLAGS   += -I $(QTHOME)/include/Qt -I$(QTHOME)/include
113     endif                                         107     endif
114     ifndef QTLIBPATH                              108     ifndef QTLIBPATH
115       QTLPATH  := $(QTHOME)                       109       QTLPATH  := $(QTHOME)
116     endif                                         110     endif
117     QTLIBPATH  := -F$(QTLPATH)                    111     QTLIBPATH  := -F$(QTLPATH)
118     QT_AS_FRAMEWORK := $(shell test -d $(QTLPA    112     QT_AS_FRAMEWORK := $(shell test -d $(QTLPATH)/QtCore.framework && echo yes)
119     ifndef QTLIBS                                 113     ifndef QTLIBS
120       ifdef QT_AS_FRAMEWORK                       114       ifdef QT_AS_FRAMEWORK
121         QTLIBS    := $(QTLIBPATH) -framework Q    115         QTLIBS    := $(QTLIBPATH) -framework QtCore -framework QtGui
122       else                                        116       else
123         QTLIBS    := -L$(QTLPATH) -lQtCore -lQ    117         QTLIBS    := -L$(QTLPATH) -lQtCore -lQtGui
124       endif                                       118       endif   
125     endif                                         119     endif
126     ifndef QT3DLIBS                               120     ifndef QT3DLIBS
127       ifdef QT_AS_FRAMEWORK                       121       ifdef QT_AS_FRAMEWORK
128         QT3DLIBS  := $(QTLIBPATH) -framework Q    122         QT3DLIBS  := $(QTLIBPATH) -framework QtCore -framework QtGui
129         QT3DLIBS  += -framework QtWidgets -fra    123         QT3DLIBS  += -framework QtWidgets -framework Qt3DCore -framework Qt3DExtras -framework Qt3DRender
130       else                                        124       else
131         QT3DLIBS  := -L$(QTLPATH) -lQtCore -lQ    125         QT3DLIBS  := -L$(QTLPATH) -lQtCore -lQtGui
132         QT3DLIBS  += -lQtWidgets -lQt3DCore -l    126         QT3DLIBS  += -lQtWidgets -lQt3DCore -lQt3DExtras -lQt3DRender
133       endif                                       127       endif   
134     endif                                         128     endif
135     ifndef GLQTLIBS                               129     ifndef GLQTLIBS  
136       ifdef QT_AS_FRAMEWORK                       130       ifdef QT_AS_FRAMEWORK
137         GLQTLIBS  := $(QTLIBPATH) -framework Q    131         GLQTLIBS  := $(QTLIBPATH) -framework QtCore -framework QtGui -framework QtOpenGL
138         ifeq ($(QT_VERSION),6)                 << 
139           GLQTLIBS += -framework QtOpenGLWidge << 
140         endif                                  << 
141       else                                        132       else
142         GLQTLIBS  := -L$(QTLPATH) -lQtCore -lQ    133         GLQTLIBS  := -L$(QTLPATH) -lQtCore -lQtGui -lQtOpenGL
143         ifeq ($(QT_VERSION),6)                 << 
144           GLQTLIBS += -lQtOpenGLWidgets        << 
145         endif                                  << 
146       endif                                       134       endif   
147     endif                                         135     endif
148   else                                            136   else
149     ifndef QTMOC                                  137     ifndef QTMOC
150       QTMOC      := $(QTHOME)/bin/moc             138       QTMOC      := $(QTHOME)/bin/moc
151     endif                                         139     endif
152     QTLPATH  := $(QTHOME)/lib                     140     QTLPATH  := $(QTHOME)/lib
153     ifndef QTFLAGS                             << 141     ifndef QTFLAGS                          # Qt5
154       QTFLAGS   := -I $(QTLPATH)/QtCore.framew    142       QTFLAGS   := -I $(QTLPATH)/QtCore.framework/Headers 
155       QTFLAGS   += -I $(QTLPATH)/QtGui.framewo    143       QTFLAGS   += -I $(QTLPATH)/QtGui.framework/Headers 
156       QTFLAGS   += -I $(QTLPATH)/QtWidgets.fra    144       QTFLAGS   += -I $(QTLPATH)/QtWidgets.framework/Headers
157       QTFLAGS   += -I $(QTLPATH)/QtOpenGL.fram    145       QTFLAGS   += -I $(QTLPATH)/QtOpenGL.framework/Headers
158       QTFLAGS   += -I $(QTLPATH)/Qt3DCore.fram    146       QTFLAGS   += -I $(QTLPATH)/Qt3DCore.framework/Headers
159       QTFLAGS   += -I $(QTLPATH)/Qt3DExtras.fr    147       QTFLAGS   += -I $(QTLPATH)/Qt3DExtras.framework/Headers
160       QTFLAGS   += -I $(QTLPATH)/Qt3DRender.fr    148       QTFLAGS   += -I $(QTLPATH)/Qt3DRender.framework/Headers
                                                   >> 149       QTFLAGS   += -I $(QTLPATH)/QtPrintSupport.framework/Headers
161       QTFLAGS   += -I $(QTHOME)/include/Qt -I$    150       QTFLAGS   += -I $(QTHOME)/include/Qt -I$(QTHOME)/include
162       ifeq ($(QT_VERSION),6)                   << 
163         QTFLAGS   += -I $(QTHOME)/QtOpenGLWidg << 
164       endif                                    << 
165     endif                                         151     endif
166     ifndef QTLIBS                                 152     ifndef QTLIBS
167        QTLIBS    := -F$(QTLPATH) -framework Qt    153        QTLIBS    := -F$(QTLPATH) -framework QtCore -framework QtGui
168        QTLIBS    += -framework QtWidgets       << 154        QTLIBS    += -framework QtWidgets -framework QtPrintSupport
169     endif                                         155     endif   
170     ifndef QT3DLIBS                               156     ifndef QT3DLIBS
171        QT3DLIBS    := -F$(QTLPATH) -framework     157        QT3DLIBS    := -F$(QTLPATH) -framework QtCore -framework QtGui
172        QT3DLIBS    += -framework QtWidgets        158        QT3DLIBS    += -framework QtWidgets
173        QT3DLIBS    += -framework Qt3DCore -fra    159        QT3DLIBS    += -framework Qt3DCore -framework Qt3DExtras -framework Qt3DRender
                                                   >> 160        QT3DLIBS    += -framework QtPrintSupport
174     endif                                         161     endif   
175     ifndef GLQTLIBS                               162     ifndef GLQTLIBS  
176       GLQTLIBS    := -F$(QTLPATH) -framework Q    163       GLQTLIBS    := -F$(QTLPATH) -framework QtCore -framework QtGui
177       GLQTLIBS    += -framework QtWidgets         164       GLQTLIBS    += -framework QtWidgets
178       GLQTLIBS    += -framework QtOpenGL       << 165       GLQTLIBS    += -framework QtOpenGL -framework QtPrintSupport
179       ifeq ($(QT_VERSION),6)                   << 
180         GLQTLIBS  += -framework QtOpenGLWidget << 
181       endif                                    << 
182     endif                                         166     endif   
183   endif                                           167   endif
184                                                   168 
185 #------ Wt Setup block -----------------------    169 #------ Wt Setup block ------------------------------------------------------
186                                                   170 
187   ifndef WTHOME                                   171   ifndef WTHOME
188     WTHOME := /usr                                172     WTHOME := /usr
189   endif                                           173   endif
190   WTFLAGS := -I$(WTHOME)/include/boost -I$(WTH    174   WTFLAGS := -I$(WTHOME)/include/boost -I$(WTHOME)/include -DQT_NO_KEYWORDS 
191   WTLIBS  := -L$(WTHOME)/lib -lwt -lwtext -lwt    175   WTLIBS  := -L$(WTHOME)/lib -lwt -lwtext -lwthttp  -lboost_signals  -L/usr/lib -lz -lssl -lcrypto
192                                                   176 
193 #---------------------------------------------    177 #----------------------------------------------------------------------------
194                                                   178 
195   define build-granular-shared-lib                179   define build-granular-shared-lib
196     @libdir=`(cd $(@D);/bin/pwd)`; \              180     @libdir=`(cd $(@D);/bin/pwd)`; \
197      cd $(G4TMPDIR); \                            181      cd $(G4TMPDIR); \
198      $(CXX) -Wl,-w -dynamiclib -single_module     182      $(CXX) -Wl,-w -dynamiclib -single_module -undefined dynamic_lookup \
199          -o $$libdir/$(@F) $(INTYLIBS) *.o        183          -o $$libdir/$(@F) $(INTYLIBS) *.o
200   endef                                           184   endef
201   define build-global-shared-lib                  185   define build-global-shared-lib
202     @libdir=`(cd $(@D);/bin/pwd)`; \              186     @libdir=`(cd $(@D);/bin/pwd)`; \
203      cd $(G4TMP)/$(G4SYSTEM); \                   187      cd $(G4TMP)/$(G4SYSTEM); \
204      $(CXX) -Wl,-w -dynamiclib -single_module     188      $(CXX) -Wl,-w -dynamiclib -single_module -undefined dynamic_lookup \
205          -o $$libdir/$(@F) $(INTYLIBS) $(forea    189          -o $$libdir/$(@F) $(INTYLIBS) $(foreach dir,$(SUBLIBS),$(dir)/*.o);
206   endef                                           190   endef
207                                                   191 
208 endif                                             192 endif