aboutsummaryrefslogtreecommitdiff
blob: 39737fd855580d2af18b9ec5c5f721d787e93fa0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
From baae97cc3c8d0cadcabb7ed16559f4e4de26ddbe Mon Sep 17 00:00:00 2001
From: François Bissey <frp.bissey@gmail.com>
Date: Mon, 20 Jan 2020 11:54:37 +1300
Subject: [PATCH] Adjust the build system so it doesnt build packages
 externally provided by portage. Make the compilation flags more generic and
 easily adjustable. Make the build system stop at the first fault.

---
 build                   |  6 +++---
 config/buildSettings.mk | 20 ++++++++++----------
 config/common/buildproj |  8 +++++---
 config/common/vars.mk   | 10 +++++-----
 extras/build            |  8 ++++----
 src/mist-clean/Makefile |  2 +-
 6 files changed, 28 insertions(+), 26 deletions(-)

diff --git a/build b/build
index 05dac06c..d90e407b 100755
--- a/build
+++ b/build
@@ -3,7 +3,7 @@
 if [ $# -ge 1 ] ; then
   PROJECTS="$@";
 else
-  MASTERPROJECTS="CiftiLib-master utils znzlib NewNifti niftiio fslio giftiio miscmaths newimage libhfunc libvis first_lib \
+  MASTERPROJECTS="utils znzlib NewNifti niftiio fslio giftiio miscmaths newimage libhfunc libvis first_lib \
 meshclass fslvtkio misc_tcl basisfield warpfns bint shapeModel MVdisc fslvtkconv fslsurface libmeshutils newmesh \
 DiscreteOpt FastPDlib MSMRegLib misc_c dpm topup \
 asl_mfree \
@@ -80,8 +80,8 @@ xtract";
   done
 fi
 
-echo "Building projects - see build.log file for progress..."
-./config/common/buildproj $PROJECTS > ./build.log 2>&1
+echo "Building projects"
+./config/common/buildproj $PROJECTS
 finalStatus=$?
 if [ $finalStatus -eq 0 ]; then
     echo "Build completed successfully.";
diff --git a/config/buildSettings.mk b/config/buildSettings.mk
index b2e1f150..04532fc2 100644
--- a/config/buildSettings.mk
+++ b/config/buildSettings.mk
@@ -18,7 +18,7 @@ MV = /bin/mv
 CHMOD = /bin/chmod
 MKDIR = /bin/mkdir
 INSTALL = install -p 
-TCLSH = ${FSLDIR}/bin/fsltclsh
+TCLSH = tclsh
 DEPENDFLAGS = -MM
 MACHDBGFLAGS = -g
 #####################################################################
@@ -124,19 +124,19 @@ endif # if Darwin
 #####################################################################
 ifeq ($(SYSTYPE), Linux)
 ###############   System Vars   #####################################
-CC = gcc
-CXX = c++
-CXX11 = c++
+CC = @@GENTOO_CC@@
+CXX = @@GENTOO_CXX@@
+CXX11 = @@GENTOO_CXX@@
 CSTATICFLAGS = -static
 CXXSTATICFLAGS = -static
-ARCHFLAGS = -m64
-ARCHLDFLAGS = -Wl,-rpath,'$$ORIGIN/../lib'
+ARCHFLAGS =
+ARCHLDFLAGS =
 PARALLELFLAGS = -fopenmp
-OPTFLAGS = -g -O3 -fexpensive-optimizations ${ARCHFLAGS}
+OPTFLAGS =
 GNU_ANSI_FLAGS = -Wall -ansi -pedantic -Wno-long-long
 SGI_ANSI_FLAGS = -ansi -fullwarn
 ANSI_FLAGS = ${GNU_ANSI_FLAGS}
-RANLIB = echo
+RANLIB = @@GENTOO_RANLIB@@
 FSLML = ${FSLDIR}/bin/fslml
 # CUDA development environment
 CUDAVER := $(or $(CUDAVER),9.1)
@@ -148,8 +148,8 @@ INC_CUDA = ${CUDA_INSTALLATION}/include
 NVCC = ${CUDA_INSTALLATION}/bin/nvcc
 ###############   External Libs   #####################################
 # ZLIB library
-LIB_ZLIB = /lib64
-INC_ZLIB = /usr/include
+#LIB_ZLIB = /lib64
+#INC_ZLIB = /usr/include
 # QT library
 QTDIR = /usr/lib/qt3
 LIB_QT = ${QTDIR}/lib
diff --git a/config/common/buildproj b/config/common/buildproj
index 2f0f2b8f..48624a1f 100755
--- a/config/common/buildproj
+++ b/config/common/buildproj
@@ -11,10 +11,10 @@ if [ X$1 = X-strict ] ; then
 fi
 PROJECTS="$@" ; export PROJECTS ;
 
-FSLDIR=`pwd`
+#FSLDIR=`pwd`
 FSLDEVDIR=${FSLDIR}
 FSLCONFDIR=${FSLDIR}/config
-FSLMACHTYPE=`${FSLDIR}/etc/fslconf/fslmachtype.sh`
+#FSLMACHTYPE=`${FSLDIR}/etc/fslconf/fslmachtype.sh`
 FSLMASTERBUILD=1
 export FSLDIR FSLDEVDIR FSLCONFDIR FSLMACHTYPE FSLMASTERBUILD
 
@@ -67,7 +67,7 @@ for projname in $PROJECTS; do
 	  if [ -x ./fslconfig ] ; then
 	    . ./fslconfig ;
 	  fi
-	  if ${MAKE} -k ${MAKEOPTIONS} ; then 
+	  if ${MAKE} ${MAKEOPTIONS} ; then 
 	    if ${MAKE} ${MAKEOPTIONS} install ; then
 	      installok=true;
 	      # Clean up after ourselves
@@ -82,6 +82,7 @@ for projname in $PROJECTS; do
 	    if [ $installok = false ]  ; then
 	      echo " "
 	      echo "ERROR::Could not install $projname successfully" ;
+	      exit 1
 	    fi
 	  else
 	    echo " "
@@ -90,6 +91,7 @@ for projname in $PROJECTS; do
 	    echo " "
 	    echo " "
 	    errorprojs="$errorprojs $projname" ; export errorprojs ;
+	    exit 1
 	  fi
     fi
 done
diff --git a/config/common/vars.mk b/config/common/vars.mk
index b027b010..aeeae67c 100755
--- a/config/common/vars.mk
+++ b/config/common/vars.mk
@@ -24,15 +24,15 @@ USRINCFLAGS =
 USRCFLAGS = 
 USRCXXFLAGS =
 
-LDFLAGS = ${ARCHLDFLAGS} ${USRLDFLAGS} -L. -L${DEVLIBDIR} -L${LIBDIR}
+LDFLAGS = ${ARCHLDFLAGS} ${USRLDFLAGS} -L. -L${DEVLIBDIR} -L${LIBDIR} ${USERLDFLAGS}
 
-AccumulatedIncFlags = -I${INC_BOOST} ${USRINCFLAGS} -I. -I${DEVINCDIR} -I${INCDIR}
+AccumulatedIncFlags = ${USRINCFLAGS} -I. -I${DEVINCDIR} -I${INCDIR} ${CPPFLAGS}
 
 CFLAGS = ${ANSI_FLAGS} ${ANSI_CFLAGS} ${DBGFLAGS} ${USEDCSTATICFLAGS} ${USRCFLAGS} ${ARCHFLAGS} ${OPTFLAGS}  \
-	${AccumulatedIncFlags}
+	${AccumulatedIncFlags} ${USERCFLAGS}
 
-CXXFLAGS = ${ANSI_FLAGS} ${ANSI_CXXFLAGS} ${DBGFLAGS} ${USEDCXXSTATICFLAGS} ${USRCXXFLAGS} ${ARCHFLAGS} ${OPTFLAGS}  \
-	${AccumulatedIncFlags}
+CXXFLAGS = ${ANSI_CXXFLAGS} ${DBGFLAGS} ${USEDCXXSTATICFLAGS} ${USRCXXFLAGS} ${ARCHFLAGS} ${OPTFLAGS}  \
+	${AccumulatedIncFlags} ${USERCXXFLAGS}
 
 HFILES = *.h
 AFILES = *.a
diff --git a/extras/build b/extras/build
index 59e7a2ed..0d68232e 100755
--- a/extras/build
+++ b/extras/build
@@ -96,16 +96,16 @@ if [ X"${OS}" = "XDarwin" ]; then
 	BUILDICONV=1
     fi
 fi
-PROJECTS="tcl tk"
+#PROJECTS="tcl tk"
 if [ ${BUILDZLIB} -eq 1 ]; then
   PROJECTS="${PROJECTS} zlib"
 fi
-PROJECTS="${PROJECTS} libpng"
+#PROJECTS="${PROJECTS} libpng"
 if [ ${BUILDICONV} -eq 1 ]; then
   PROJECTS="${PROJECTS} libiconv"
 fi
-PROJECTS="${PROJECTS} libgd libgdc libprob libcprob newmat cprob newran fftw"
-PROJECTS="${PROJECTS} boost libxml2-2.9.2 libxmlpp libsqlite libnlopt ../include/armawrap/dummy_newmat"
+PROJECTS="${PROJECTS} libgdc libprob libcprob newmat cprob newran"
+PROJECTS="${PROJECTS} ../include/armawrap/dummy_newmat"
 for projname in $PROJECTS; do
     if [ -d $FSLESRCDIR/$projname ] ; then
        buildIt $FSLESRCDIR $projname 1
diff --git a/src/mist-clean/Makefile b/src/mist-clean/Makefile
index 20402cca..6918bee4 100755
--- a/src/mist-clean/Makefile
+++ b/src/mist-clean/Makefile
@@ -52,6 +52,6 @@ installpython:
 		cp -r python/* ${DESTDIR}/python/mist
 
 clean:
-			rm -f ${OBJS} mist/mist.o mist/mist
+			rm -f ${OBJS} mist/mist.o mist/mist || echo "CLEAN could not locate some files scheduled for deletion."
 
 .PHONY:		all clean installdata
-- 
2.24.1