Skip to content

Commit 903c0bb

Browse files
authored
Merge pull request #262 from JeffersonLab/aaust_almalinux9
Aaust almalinux9
2 parents b4ced30 + 5a36442 commit 903c0bb

File tree

6 files changed

+78
-8
lines changed

6 files changed

+78
-8
lines changed

Makefile_diracxx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,17 +69,23 @@ $(DIRACXX_HOME)/.untar_done: $(TARFILE)
6969
rmdir -v $(UNTAR_TEMP_DIR)
7070
date > $@
7171

72+
$(DIRACXX_HOME)/.patch_done: $(SOURCE_CODE_TARGET)
73+
cd $(DIRACXX_HOME); \
74+
patch -p1 < ${BUILD_SCRIPTS}/patches/diracxx/diracxx_c++11.patch
75+
date > $@
76+
7277
$(DIRACXX_HOME)/.make_done: $(SOURCE_CODE_TARGET)
7378
cd $(DIRACXX_HOME) ; \
7479
make PYTHON_CONFIG=$(PYTHON_CONFIG) BOOST_PYTHON_LIB=$(PYTHON_BOOST) PYTHON_LIB_OPTION=$(PYTHON_LIB_OPTION) $(DIRACXX_MAKE_OPTIONS)
7580
date > $@
7681

77-
$(DIRACXX_HOME)/.cmake_done: $(SOURCE_CODE_TARGET)
82+
$(DIRACXX_HOME)/.cmake_done: $(DIRACXX_HOME)/.patch_done
7883
cd $(DIRACXX_HOME); \
7984
mkdir -p build; \
8085
cd build; \
8186
$(CMAKE3) -DCMAKE_INSTALL_PREFIX=$(DIRACXX_HOME) \
82-
-DPYTHON_WITH_VERSION=$(PYTHON_BOOST_CMAKE) \
87+
-DCMAKE_INSTALL_LIBDIR=$(DIRACXX_HOME)/lib \
88+
-DBoost_NO_BOOST_CMAKE=ON \
8389
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON ..
8490
date > $@
8591

Makefile_hdgeant4

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,14 @@ PYTHON_CONFIG = $(shell $(BUILD_SCRIPTS)/python_chooser.sh config)
3131
PYTHON_BOOST = $(shell $(BUILD_SCRIPTS)/python_chooser.sh boost)
3232
PYTHON_LIB_OPTION = $(shell $(BUILD_SCRIPTS)/python_chooser.sh lib)
3333

34+
PYTHON_MAJOR_VERSION = $(shell $(BUILD_SCRIPTS)/python_chooser.sh version)
35+
PYTHON_MINOR_VERSION = $(shell $(BUILD_SCRIPTS)/python_chooser.sh minor)
36+
ifeq '$(PYTHON_MAJOR_VERSION)' '3'
37+
PYTHON_GE_3 = true
38+
else
39+
PYTHON_GE_3 = false
40+
endif
41+
3442
QTHOME_LOCATION := $(shell if [ -d "/usr/lib64/qt5" ]; then echo /usr/lib64/qt5; elif [ -d "/usr/lib64/qt4" ]; then echo /usr/lib64/qt4; else echo not_found; fi)
3543
ifneq ($(QTHOME_LOCATION), not_found)
3644
QTHOME_DEF = QTHOME=$(QTHOME_LOCATION)
@@ -67,13 +75,21 @@ $(HDGEANT4_HOME)/.link_to_fixes_done: $(SOURCE_CODE_TARGET)
6775
cd $(HDGEANT4_HOME)/src ; ln -s G4.$(GEANT4_VERSION)fixes G4fixes
6876
date > $@
6977

70-
$(HDGEANT4_HOME)/.make_done: $(HDGEANT4_HOME)/.link_to_fixes_done
78+
$(HDGEANT4_HOME)/.patch_done: $(HDGEANT4_HOME)/.link_to_fixes_done
79+
cd $(HDGEANT4_HOME); \
80+
patch -p1 < ${BUILD_SCRIPTS}/patches/hdgeant4/hdgeant4_c++11.patch
81+
date > $@
82+
83+
$(HDGEANT4_HOME)/.make_done: $(HDGEANT4_HOME)/.patch_done
7184
cd $(HDGEANT4_HOME) ; \
7285
if [ -z "$$G4SYSTEM" ] ; \
7386
then echo Geant4 setup not complete, sourcing geant4make.sh ; \
7487
. `find $(G4ROOT)/share/ -name geant4make.sh` ; \
7588
fi ; \
76-
make PYTHON_CONFIG=$(PYTHON_CONFIG) PYTHON_LIB_OPTION=$(PYTHON_LIB_OPTION) $(QTHOME_DEF) $(HDGEANT4_MAKE_OPTIONS)
89+
if $(PYTHON_GE_3) ; \
90+
then make PYTHON_CONFIG=$(PYTHON_CONFIG) PYTHON_LIB_OPTION=$(PYTHON_LIB_OPTION) PYTHON_GE_3=$(PYTHON_GE_3) PYTHON_MAJOR_VERSION=$(PYTHON_MAJOR_VERSION) PYTHON_MINOR_VERSION=$(PYTHON_MINOR_VERSION) $(QTHOME_DEF) $(HDGEANT4_MAKE_OPTIONS) ; \
91+
else make PYTHON_CONFIG=$(PYTHON_CONFIG) PYTHON_LIB_OPTION=$(PYTHON_LIB_OPTION) $(QTHOME_DEF) $(HDGEANT4_MAKE_OPTIONS) ; \
92+
fi ; \
7793
date > $@
7894

7995
$(HDGEANT4_HOME)/hdgeant4_prereqs_version.xml: $(HDGEANT4_HOME)/.make_done

gluex_targets.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ endif
6161
ifdef HALLD_AMP_HOME
6262
GLUEX_PASS2_TARGETS += halld_amp_build
6363
endif
64-
ifdef DIRACXX
64+
ifdef DIRACXX_HOME
6565
GLUEX_PASS2_TARGETS += diracxx_build
6666
endif
6767
ifdef HALLD_SIM_HOME

patches/diracxx/diracxx_c++11.patch

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
--- Diracxx_original/CMakeLists.txt 2024-01-02 13:52:53.000000000 -0500
2+
+++ Diracxx_patched/CMakeLists.txt 2024-01-02 15:43:53.671650115 -0500
3+
@@ -5,18 +5,8 @@ project(Diracxx VERSION 1.1 DESCRIPTION
4+
configure_file(DiracxxConfig.h.in DiracxxConfig.h)
5+
6+
# specify the C++ standard
7+
-if(CMAKE_CXX17_STANDARD_COMPILE_OPTION STREQUAL "-std=c++17")
8+
- message("compile c++ code with c++17 support")
9+
- set(CMAKE_CXX_STANDARD 17)
10+
-elseif(CMAKE_CXX14_STANDARD_COMPILE_OPTION STREQUAL "-std=c++14")
11+
- message("compile c++ code with c++14 support")
12+
- set(CMAKE_CXX_STANDARD 14)
13+
-elseif(CMAKE_CXX11_STANDARD_COMPILE_OPTION STREQUAL "-std=c++11")
14+
- message("compile c++ code with c++11 support")
15+
- set(CMAKE_CXX_STANDARD 11)
16+
-else(CMAKE_CXX17_STANDARD_COMPILE_OPTION STREQUAL "-std=c++17")
17+
- message("compile c++ code with compiler default std")
18+
-endif(CMAKE_CXX17_STANDARD_COMPILE_OPTION STREQUAL "-std=c++17")
19+
+message("compile c++ code with c++11 support")
20+
+set(CMAKE_CXX_STANDARD 11)
21+
set(CMAKE_CXX_STANDARD_REQUIRED True)
22+
23+
# require python to be installed

patches/hdgeant4/hdgeant4_c++11.patch

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
--- hdgeant4-2.37.0/GNUmakefile 2023-11-30 12:27:16.000000000 -0500
2+
+++ hdgeant4-2.37.0_patched/GNUmakefile 2023-12-20 12:19:31.476302070 -0500
3+
@@ -143,16 +143,8 @@ g4fixes: $(G4TMPDIR)/libG4fixes.so
4+
CXXFLAGS = -g -O4 -fPIC -W -Wall -pedantic -Wno-non-virtual-dtor -Wno-long-long
5+
6+
GCCVERSION = $(shell gcc --version | awk -F'[. ]*' '/gcc/{print $$3}')
7+
-ifeq ($(shell test $(GCCVERSION) -ge 8; echo $$?),0)
8+
- CPPFLAGS += -std=c++17
9+
- CXXFLAGS += -std=c++17
10+
-else ifeq ($(shell test $(GCCVERSION) -ge 5; echo $$?),0)
11+
- CPPFLAGS += -std=c++14
12+
- CXXFLAGS += -std=c++14
13+
-else
14+
- CPPFLAGS += -std=c++11
15+
- CXXFLAGS += -std=c++11
16+
-endif
17+
+CPPFLAGS += -std=c++11
18+
+CXXFLAGS += -std=c++11
19+
20+
HDDSDIR := $(G4TMPDIR)/hdds
21+
G4FIXESDIR := $(G4TMPDIR)/G4fixes

python_chooser.sh

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@
44
# correct python-related command to use
55
#
66
## accepts one positional argument
7-
## argument can have one of four values: command, config, scons, version,
7+
## argument can have one of these values: command, config, scons, version, minor,
88
## boost, or boost_cmake
99
### command: python command to use
1010
### config: python-config command use
1111
### scon: scons command to use
1212
### version: Python major version
13+
### minor: Python minor version
1314
### boost: name of the python-boost library, without the file extension and
1415
### without the initial "lib"
1516
## writes output to stdout
@@ -44,7 +45,7 @@ then
4445
dist_name=CentOS
4546
elif grep -lq Alma /etc/redhat-release
4647
then
47-
dist_name=CentOS
48+
dist_name=Alma
4849
else
4950
dist_name=unknown_redhat_like
5051
fi
@@ -88,7 +89,7 @@ then
8889
then
8990
pycommand[lib]=-lpython$version_major.$version_minor
9091
fi
91-
elif [[ $dist_name == RedHat || $dist_name == CentOS ]]
92+
elif [[ $dist_name == RedHat || $dist_name == CentOS || $dist_name == Alma ]]
9293
then
9394
if [ $dist_version -le 7 ]
9495
then
@@ -163,6 +164,9 @@ case $arg in
163164
version)
164165
echo ${pycommand[version]}
165166
;;
167+
minor)
168+
echo $version_minor
169+
;;
166170
*)
167171
echo python_chooser.sh error: unknown argument = \"$arg\"
168172
exit 1

0 commit comments

Comments
 (0)