[SM-Commit] PERFORCE change 77009 by David Michael Leo Brown Jr. for review
Perforce Review Daemon
p4review at smee.org
Thu Mar 30 02:35:01 EST 2006
Change 77009 by david_brown at dmlb2000-dmlb2004 on 2006/03/30 08:30:49
added a crap load of spells to complete (somewhat) what I'm trying to do
with the gcc functions currently this is the way it sits:
1) each versioned spell installs both gcc and g++
reason) this is for convenience on my part I'm not trying to make spells
for the grimoire I'm trying to test stage root
2) many of the SOLO UP_TRIGGERS REPAIR and specs files are gone
reason) again I'm not making spells for the grimoires this is just a
case study for stage root and parallel install of gcc's it doesn't mean
that they can't be added back in, I just find it easier to handle the
spells without breaking parts I don't care about...
so basically this is because I'm lazy and don't have the time to make
'complete' spells for the main grimoires
3) gcc and g++ only install symlinks to the proper binaries even though
sorcery can use the versioned gcc's in it's run_compiler script so that
'smart' users thinking they can link to another version of gcc and try
to compile stuff with that version, it won't happen that way...
reason) these are for user convenience of having /usr/bin/gcc working
that's all
Added several functions to the FUNCTIONS file that are used in
POST_INSTALL to do the symlinking for me, very handy
Added the API_VERSION file because all stage root stuff is done with
build api2 there is none with build api1
Affected files ...
... //sgl/grimoires/stage_root/gnu/API_VERSION#1 add
... //sgl/grimoires/stage_root/gnu/FUNCTIONS#2 edit
... //sgl/grimoires/stage_root/gnu/g++/BUILD#1 add
... //sgl/grimoires/stage_root/gnu/g++/DEPENDS#1 add
... //sgl/grimoires/stage_root/gnu/g++/DETAILS#1 add
... //sgl/grimoires/stage_root/gnu/g++/HISTORY#1 add
... //sgl/grimoires/stage_root/gnu/g++/INSTALL#1 add
... //sgl/grimoires/stage_root/gnu/g++/PRE_BUILD#1 add
... //sgl/grimoires/stage_root/gnu/gcc/BUILD#1 add
... //sgl/grimoires/stage_root/gnu/gcc/DEPENDS#1 add
... //sgl/grimoires/stage_root/gnu/gcc/DETAILS#1 add
... //sgl/grimoires/stage_root/gnu/gcc/HISTORY#1 add
... //sgl/grimoires/stage_root/gnu/gcc/INSTALL#1 add
... //sgl/grimoires/stage_root/gnu/gcc/PRE_BUILD#1 add
... //sgl/grimoires/stage_root/gnu/gcc33/BUILD#1 add
... //sgl/grimoires/stage_root/gnu/gcc33/CONFIGURE#1 add
... //sgl/grimoires/stage_root/gnu/gcc33/DEPENDS#1 add
... //sgl/grimoires/stage_root/gnu/gcc33/DETAILS#1 add
... //sgl/grimoires/stage_root/gnu/gcc33/FINAL#1 add
... //sgl/grimoires/stage_root/gnu/gcc33/HISTORY#1 add
... //sgl/grimoires/stage_root/gnu/gcc33/INSTALL#1 add
... //sgl/grimoires/stage_root/gnu/gcc33/POST_INSTALL#1 add
... //sgl/grimoires/stage_root/gnu/gcc33/PRE_BUILD#1 add
... //sgl/grimoires/stage_root/gnu/gcc40/BUILD#1 add
... //sgl/grimoires/stage_root/gnu/gcc40/CONFIGURE#1 add
... //sgl/grimoires/stage_root/gnu/gcc40/DEPENDS#1 add
... //sgl/grimoires/stage_root/gnu/gcc40/DETAILS#1 add
... //sgl/grimoires/stage_root/gnu/gcc40/FINAL#1 add
... //sgl/grimoires/stage_root/gnu/gcc40/HISTORY#1 add
... //sgl/grimoires/stage_root/gnu/gcc40/INSTALL#1 add
... //sgl/grimoires/stage_root/gnu/gcc40/POST_INSTALL#1 add
... //sgl/grimoires/stage_root/gnu/gcc40/PRE_BUILD#1 add
... //sgl/grimoires/stage_root/gnu/gcc40/volatiles#1 add
... //sgl/grimoires/stage_root/gnu/gcc41/BUILD#2 edit
... //sgl/grimoires/stage_root/gnu/gcc41/DETAILS#4 edit
... //sgl/grimoires/stage_root/gnu/gcc41/POST_INSTALL#2 edit
... //sgl/grimoires/stage_root/gnu/gcc41/PRE_BUILD#2 edit
Differences ...
==== //sgl/grimoires/stage_root/gnu/FUNCTIONS#2 (xtext) ====
@@ -19,3 +19,35 @@
fi
}
+
+function gcc_clean_symlinks()
+{
+ for file in "$@" ;
+ do
+ if [[ -L $file ]]
+ then
+ rm -vf $file
+ else
+ echo "$file not a symlink"
+ fi
+ done
+}
+
+function link_binary()
+{
+ local file=$1
+ local target=$2
+ if [[ $2 ]]
+ then
+ ln -vfs $file ${INSTALL_ROOT}/usr/bin/$target
+ else
+ ln -vfs $file ${INSTALL_ROOT}/usr/bin/${file%-*}
+ fi
+}
+
+function link_library()
+{
+ local lib=$1
+ ln -vfs $file ${INSTALL_ROOT}/usr/lib/${file%.[0-9].[0-9].[0-9]}
+ ln -vfs $file ${INSTALL_ROOT}/usr/lib/${file%.[0-9].[0-9]}
+}
==== //sgl/grimoires/stage_root/gnu/gcc41/BUILD#2 (xtext) ====
@@ -13,7 +13,8 @@
--mandir=${INSTALL_ROOT}/usr/share/man \
--enable-threads=posix \
--with-system-zlib \
- --program-suffix=-$VERSION \
+ --program-suffix=-${VERSION%.[0-9]} \
+ --enable-languages=c,c++ \
$GCC_MULTILIB $OPTS &&
make CFLAGS="$CFLAGS" BOOT_CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
==== //sgl/grimoires/stage_root/gnu/gcc41/DETAILS#4 (xtext) ====
@@ -1,16 +1,19 @@
SPELL=gcc41
- VERSION=4.1
- DATE=20060310
- SOURCE_HASH='sha512:08b798b16b2f43ede0ad5d8bf0c0fa46ea926ec66b7e1e736b999f6dfa576fd61131449c1ec21d0a0adeae124ed083afcb3451a91a40590ff97a6a010e8768a2'
- SOURCE=gcc-core-$VERSION-$DATE.tar.bz2
-SOURCE_DIRECTORY=$BUILD_DIRECTORY/gcc-$VERSION-$DATE
- SOURCE_URL[0]=ftp://gcc.gnu.org/pub/gcc/snapshots/$VERSION-$DATE/$SOURCE
+ VERSION=4.1.0
+ SOURCE_HASH=sha512:6799fdad84a0d894377bd99eb63b59b9c2c81f6d58875d7d445713031c8db5ad0bf27cc4a8b6fc2394688d625aa530a7280d3f9a6d43419f3faf197c7ce52dbc
+ SOURCE2_HASH=sha512:8115534ec997c12402adf5be25ae4070624d3538ac2106ac6ef2752b739479ec9156d8186512c97d32803e6e1d11a826ea1312186e5151816ab48b5bda7de6b6
+ SOURCE=gcc-core-$VERSION.tar.bz2
+ SOURCE2=gcc-g++-$VERSION.tar.bz2
+ SOURCE_URL[0]=ftp://gcc.gnu.org/pub/gcc/releases/gcc-$VERSION/$SOURCE
+ SOURCE2_URL[0]=ftp://gcc.gnu.org/pub/gcc/releases/gcc-$VERSION/$SOURCE2
+SOURCE_DIRECTORY=$BUILD_DIRECTORY/gcc-$VERSION
LICENSE[0]=GPL
- BUILD_API=2
WEB_SITE=http://gcc.gnu.org/
ENTERED=20040420
UPDATED=20040619
DOCS="$DOCS INSTALL"
+ PATCHLEVEL=1
+ KEYWORDS="compiler"
SHORT="the GNU C compiler"
cat << EOF
The GNU C compiler and the core of the GNU compiler collection.
==== //sgl/grimoires/stage_root/gnu/gcc41/POST_INSTALL#2 (xtext) ====
@@ -1,2 +1,6 @@
-rm -vf usr/lib/lib*
-rm -vrf usr/include
+rm -vf usr/lib/libgcc*
+rm -vf usr/lib/libiberty*
+rm -vf usr/lib/libsupc++*
+rm -vf usr/lib/libstdc++*
+rm -vf usr/lib/libmudflap*
+gcc_clean_symlinks usr/lib/lib*
==== //sgl/grimoires/stage_root/gnu/gcc41/PRE_BUILD#2 (xtext) ====
@@ -1,3 +1,4 @@
-default_pre_build &&
-mk_source_dir $SOURCE_DIRECTORY.bld
-
+default_pre_build &&
+cd $BUILD_DIRECTORY &&
+unpack_file 2 &&
+mk_source_dir $SOURCE_DIRECTORY.bld
More information about the SM-Commit
mailing list