10
10
which port > /dev/null && HAS_MACPORTS=1
11
11
which brew > /dev/null && HAS_HOMEBREW=1
12
12
13
- MACPORTS_PATH=$( dirname " $( which port) " )
13
+ if (( HAS_MACPORTS)) ; then
14
+ MACPORTS_PATH=$( dirname " $( which port) " )
15
+ cd $MACPORTS_PATH
16
+ sudo rm -f cpp gcc g++ cc ld
17
+ cd -
18
+ fi
19
+
14
20
if (( HAS_HOMEBREW)) ; then
15
21
HOMEBREW_PATH=" $( brew --prefix) /bin"
22
+ cd $HOMEBREW_PATH
23
+ rm -f cpp gcc g++ cc ld
24
+ cd -
16
25
fi
17
26
18
27
if [[ $1 == " apple" || $1 == " darwin" || $1 == " system" ]]; then
19
28
20
- if (( HAS_MACPORTS)) ; then
21
- cd $MACPORTS_PATH
22
- sudo rm -f gcc g++ cc ld
23
- cd -
24
- fi
25
-
26
- if (( HAS_HOMEBREW)) ; then
27
- cd $HOMEBREW_PATH
28
- sudo rm -f gcc g++ cc
29
- cd -
30
- fi
29
+ # Nothing to do
31
30
32
31
elif [[ $1 =~ " .*ports" ]]; then
33
32
34
33
(( HAS_MACPORTS)) || { echo " MacPorts is not installed" ; exit 1; }
35
34
36
- GCCV=$( find $MACPORTS_PATH -name " gcc -mp-*" | sort -r | head -1 | sed ' s/.*gcc -mp-//' )
35
+ GCCV=$( find $MACPORTS_PATH -name " cpp -mp-*" | sort -r | head -1 | sed ' s/.*cpp -mp-//' )
37
36
[[ $GCCV -ge 11 ]] || GCCV=14
38
37
39
38
getport () { port installed $1 | grep $1 || sudo port install $1 ; }
@@ -42,7 +41,7 @@ elif [[ $1 =~ ".*ports" ]]; then
42
41
getports " gcc$GCCV " glm mesa libsdl2 libsdl2_net
43
42
44
43
cd $MACPORTS_PATH
45
- sudo rm -f gcc g++ cc ld
44
+ sudo ln -s " cpp-mp- $GCCV " cpp
46
45
sudo ln -s " gcc-mp-$GCCV " gcc
47
46
sudo ln -s " g++-mp-$GCCV " g++
48
47
sudo ln -s g++ cc
@@ -53,16 +52,22 @@ elif [[ $1 =~ ".*brew" ]]; then
53
52
54
53
(( HAS_HOMEBREW)) || { echo " Homebrew is not installed" ; exit 1; }
55
54
56
- GCCV=$( find $HOMEBREW_PATH -name " gcc-*" | sort -r | head -1 | sed ' s/.*gcc-//' )
57
- [[ $GCCV -ge 11 ]] || { brew install gcc@14 ; GCCV=14 }
55
+ GCCV=$( find $HOMEBREW_PATH -name " cpp-*" | sort -r | head -1 | sed ' s/.*cpp-//' )
56
+ [[ $GCCV -ge 11 ]] || brew install gcc
57
+ GCCV=$( find $HOMEBREW_PATH -name " cpp-*" | sort -r | head -1 | sed ' s/.*cpp-//' )
58
58
59
59
brew install glm mesa sdl2 sdl2_net
60
60
61
61
cd $HOMEBREW_PATH
62
- sudo rm -f gcc g++ cc
63
- sudo ln -s " gcc-$GCCV " gcc
64
- sudo ln -s " g++-$GCCV " g++
65
- sudo ln -s g++ cc
62
+ ln -s " cpp-$GCCV " cpp
63
+ ln -s " gcc-$GCCV " gcc
64
+ ln -s " g++-$GCCV " g++
65
+ ln -s g++ cc
66
+ if [[ -f " $MACPORTS_PATH /ld-classic" ]]; then
67
+ ln -s " $MACPORTS_PATH /ld-classic" ld
68
+ else
69
+ echo " MacPorts may be required for a compatible 'ld' linker!"
70
+ fi
66
71
cd -
67
72
68
73
else
0 commit comments