[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