Author: cfinck Date: Wed Feb 11 08:57:00 2009 New Revision: 39551
URL: http://svn.reactos.org/svn/reactos?rev=39551&view=rev Log: - Move all current RosBE-Unix stuff into a "Base-i386/Root" directory for making other packages possible for real - Name the Builder script accordingly - Fix double line breaks at the end of scripts - Fix buildtime.c coding style
Added: trunk/tools/RosBE/RosBE-Unix/Base-i386/ (with props) trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/ (with props) trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/README (props changed) - copied unchanged from r39550, trunk/tools/RosBE/RosBE-Unix/README trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/README.odt (props changed) - copied unchanged from r39550, trunk/tools/RosBE/RosBE-Unix/README.odt trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/RosBE-Builder.sh (contents, props changed) - copied, changed from r39550, trunk/tools/RosBE/RosBE-Unix/RosBE-Builder.sh trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/ (props changed) - copied from r39550, trunk/tools/RosBE/RosBE-Unix/scripts/ trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/sources/ (props changed) - copied from r39550, trunk/tools/RosBE/RosBE-Unix/sources/ trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/tools/ (props changed) - copied from r39550, trunk/tools/RosBE/RosBE-Unix/tools/ Removed: trunk/tools/RosBE/RosBE-Unix/README trunk/tools/RosBE/RosBE-Unix/README.odt trunk/tools/RosBE/RosBE-Unix/RosBE-Builder.sh trunk/tools/RosBE/RosBE-Unix/scripts/ trunk/tools/RosBE/RosBE-Unix/sources/ trunk/tools/RosBE/RosBE-Unix/tools/ Modified: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/RosBE-rc trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/RosBE.sh trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/basedir.sh trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/build-multi.sh trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/build-shared.sh trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/build.sh trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/charch.sh trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/chdefdir.sh trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/clean.sh trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/createshortcut.sh trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/help.sh trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/i386/clean.sh trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/i386/version.sh trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/rosbelibrary.sh trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/scut.sh trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/version.sh trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/tools/buildtime.c
Propchange: trunk/tools/RosBE/RosBE-Unix/Base-i386/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Wed Feb 11 08:57:00 2009 @@ -1,0 +1,2 @@ +([Ii]ssue|[Bb]ug)s? #?(\d+)(,? ?#?(\d+))*(,? ?(and |or )?#?(\d+))? +(\d+)
Propchange: trunk/tools/RosBE/RosBE-Unix/Base-i386/ ------------------------------------------------------------------------------ bugtraq:message = See issue #%BUGID% for more details.
Propchange: trunk/tools/RosBE/RosBE-Unix/Base-i386/ ------------------------------------------------------------------------------ bugtraq:url = http://www.reactos.org/bugzilla/show_bug.cgi?id=%BUGID%
Propchange: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Wed Feb 11 08:57:00 2009 @@ -1,0 +1,2 @@ +([Ii]ssue|[Bb]ug)s? #?(\d+)(,? ?#?(\d+))*(,? ?(and |or )?#?(\d+))? +(\d+)
Propchange: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/ ------------------------------------------------------------------------------ bugtraq:message = See issue #%BUGID% for more details.
Propchange: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/ ------------------------------------------------------------------------------ bugtraq:url = http://www.reactos.org/bugzilla/show_bug.cgi?id=%BUGID%
Propchange: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/README ------------------------------------------------------------------------------ svn:eol-style = native
Propchange: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/README ------------------------------------------------------------------------------ svn:mergeinfo =
Propchange: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/README.odt ------------------------------------------------------------------------------ svn:mergeinfo =
Propchange: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/README.odt ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream
Copied: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/RosBE-Builder.sh (from r39550, trunk/tools/RosBE/RosBE-Unix/RosBE-Builder.sh) URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/Base-i386/Ro... ============================================================================== --- trunk/tools/RosBE/RosBE-Unix/RosBE-Builder.sh [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/RosBE-Builder.sh [iso-8859-1] Wed Feb 11 08:57:00 2009 @@ -1,6 +1,6 @@ #!/bin/bash # -# ReactOS Build Environment for Unix-based Operating Systems - Basic Builder Tool +# ReactOS Build Environment for Unix-based Operating Systems - Builder Tool for the Base package # Copyright 2007-2009 Colin Finck mail@colinfinck.de # partially based on the BuildMingwCross script (http://www.mingw.org/MinGWiki/index.php/BuildMingwCross) # @@ -23,7 +23,7 @@
echo "*******************************************************************************" echo "* ReactOS Build Environment for Unix-based Operating Systems *" -echo "* Basic Builder Tool *" +echo "* Builder Tool for the Base package *" echo "* by Colin Finck mail@colinfinck.de *" echo "* *" echo "* Version $ROSBE_VERSION *" @@ -446,4 +446,3 @@ echo
return 0 -
Propchange: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/RosBE-Builder.sh ------------------------------------------------------------------------------ svn:eol-style = native
Propchange: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/RosBE-Builder.sh ------------------------------------------------------------------------------ svn:mergeinfo =
Propchange: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/ ------------------------------------------------------------------------------ svn:mergeinfo =
Modified: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/RosBE-rc URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/Base-i386/Ro... ============================================================================== --- trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/RosBE-rc [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/RosBE-rc [iso-8859-1] Wed Feb 11 08:57:00 2009 @@ -15,4 +15,3 @@
# Change the current directory to the ReactOS source directory basedir -
Modified: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/RosBE.sh URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/Base-i386/Ro... ============================================================================== --- trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/RosBE.sh [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/RosBE.sh [iso-8859-1] Wed Feb 11 08:57:00 2009 @@ -61,4 +61,3 @@ echo
bash --rcfile "$_ROSBE_ROSSCRIPTDIR/RosBE-rc" -
Modified: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/basedir.sh URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/Base-i386/Ro... ============================================================================== --- trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/basedir.sh [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/basedir.sh [iso-8859-1] Wed Feb 11 08:57:00 2009 @@ -8,4 +8,3 @@
# An alias just to "cd $_ROSBE_ROSSOURCEDIR" won't work as bash only expands when executing the shell and then never again cd "$_ROSBE_ROSSOURCEDIR" -
Modified: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/build-multi.sh URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/Base-i386/Ro... ============================================================================== --- trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/build-multi.sh [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/build-multi.sh [iso-8859-1] Wed Feb 11 08:57:00 2009 @@ -10,4 +10,3 @@
CPUCOUNT=`cpucount -x1` buildtime make -j $CPUCOUNT $* -
Modified: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/build-shared.sh URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/Base-i386/Ro... ============================================================================== --- trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/build-shared.sh [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/build-shared.sh [iso-8859-1] Wed Feb 11 08:57:00 2009 @@ -16,4 +16,3 @@ exit 1 fi fi -
Modified: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/build.sh URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/Base-i386/Ro... ============================================================================== --- trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/build.sh [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/build.sh [iso-8859-1] Wed Feb 11 08:57:00 2009 @@ -9,4 +9,3 @@ source "$_ROSBE_ROSSCRIPTDIR/build-shared.sh"
buildtime make $* -
Modified: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/charch.sh URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/Base-i386/Ro... ============================================================================== --- trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/charch.sh [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/charch.sh [iso-8859-1] Wed Feb 11 08:57:00 2009 @@ -22,4 +22,3 @@
# Display tool versions source "$_ROSBE_ROSSCRIPTDIR/$_ROSBE_ARCH/version.sh" -
Modified: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/chdefdir.sh URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/Base-i386/Ro... ============================================================================== --- trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/chdefdir.sh [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/chdefdir.sh [iso-8859-1] Wed Feb 11 08:57:00 2009 @@ -15,4 +15,3 @@
export _ROSBE_ROSSOURCEDIR="$1" basedir -
Modified: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/clean.sh URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/Base-i386/Ro... ============================================================================== --- trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/clean.sh [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/clean.sh [iso-8859-1] Wed Feb 11 08:57:00 2009 @@ -9,4 +9,3 @@ pushd "$_ROSBE_ROSSOURCEDIR" >& /dev/null source "$_ROSBE_ROSSCRIPTDIR/$_ROSBE_ARCH/clean.sh" popd >& /dev/null -
Modified: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/createshortcut.sh URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/Base-i386/Ro... ============================================================================== --- trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/createshortcut.sh [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/createshortcut.sh [iso-8859-1] Wed Feb 11 08:57:00 2009 @@ -77,4 +77,3 @@ echo "Terminal=true" >> "$shortcut"
greenmsg "OK" -
Modified: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/help.sh URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/Base-i386/Ro... ============================================================================== --- trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/help.sh [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/help.sh [iso-8859-1] Wed Feb 11 08:57:00 2009 @@ -26,4 +26,3 @@ echo " version - Show information about the tool versions."
echo -
Modified: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/i386/clean.sh URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/Base-i386/Ro... ============================================================================== --- trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/i386/clean.sh [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/i386/clean.sh [iso-8859-1] Wed Feb 11 08:57:00 2009 @@ -16,4 +16,3 @@ else echo "ERROR: There is no i386 compiler output to clean." fi -
Modified: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/i386/version.sh URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/Base-i386/Ro... ============================================================================== --- trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/i386/version.sh [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/i386/version.sh [iso-8859-1] Wed Feb 11 08:57:00 2009 @@ -7,4 +7,3 @@ mingw32-gcc -v 2>&1 | grep "gcc version" nasm -v mingw32-ld -v -
Modified: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/rosbelibrary.sh URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/Base-i386/Ro... ============================================================================== --- trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/rosbelibrary.sh [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/rosbelibrary.sh [iso-8859-1] Wed Feb 11 08:57:00 2009 @@ -185,4 +185,3 @@ fi fi } -
Modified: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/scut.sh URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/Base-i386/Ro... ============================================================================== --- trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/scut.sh [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/scut.sh [iso-8859-1] Wed Feb 11 08:57:00 2009 @@ -23,4 +23,3 @@
;; esac -
Modified: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/version.sh URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/Base-i386/Ro... ============================================================================== --- trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/version.sh [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/scripts/version.sh [iso-8859-1] Wed Feb 11 08:57:00 2009 @@ -13,4 +13,3 @@
# Display tool versions source "$_ROSBE_ROSSCRIPTDIR/$_ROSBE_ARCH/version.sh" -
Propchange: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/sources/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Wed Feb 11 08:57:00 2009 @@ -1,0 +1,1 @@ +*.tar.bz2
Propchange: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/sources/ ------------------------------------------------------------------------------ svn:mergeinfo =
Propchange: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/tools/ ------------------------------------------------------------------------------ svn:mergeinfo =
Modified: trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/tools/buildtime.c URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/Base-i386/Ro... ============================================================================== --- trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/tools/buildtime.c [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Unix/Base-i386/Root/tools/buildtime.c [iso-8859-1] Wed Feb 11 08:57:00 2009 @@ -11,8 +11,7 @@ #include <time.h>
int -main(int argc, - char* argv[]) +main(int argc, char* argv[]) { char* CommandLine; double TotalTime; @@ -25,55 +24,57 @@ time_t StartTime; time_t FinishTime;
- // Do we have command line arguments? - if( argc <= 1 ) + /* Do we have command line arguments? */ + if(argc <= 1) { - fprintf( stderr, "buildtime: No command line arguments!\n" ); + fprintf(stderr, "buildtime: No command line arguments!\n"); return 1; }
- // First compute the memory size to allocate - for( i = 1; i < argc; i++ ) - // Every argument is enclosed between quotes and followed by a space. - // The last argument is followed by a terminating null character instead of a space. - CommandLineLength += 3 + strlen( argv[i] ); + /* First compute the memory size to allocate */ + for(i = 1; i < argc; i++) + { + /* Every argument is enclosed between quotes and followed by a space. + The last argument is followed by a terminating null character instead of a space. */ + CommandLineLength += 3 + strlen(argv[i]); + }
- // Now allocate the needed memory - CommandLine = malloc( CommandLineLength + 1 ); - if( !CommandLine ) + /* Now allocate the needed memory */ + CommandLine = malloc(CommandLineLength + 1); + if(!CommandLine) { - fprintf( stderr, "buildtime: Unable to allocate memory!\n" ); + fprintf(stderr, "buildtime: Unable to allocate memory!\n"); return 1; }
- memset( CommandLine, 0, CommandLineLength + 1 ); + memset(CommandLine, 0, CommandLineLength + 1);
- // Put the command line into the variable - for( i = 1; i < argc; i++ ) + /* Put the command line into the variable */ + for(i = 1; i < argc; i++) { - strcat( CommandLine, """ ); - strcat( CommandLine, argv[i] ); - strcat( CommandLine, "" " ); + strcat(CommandLine, """); + strcat(CommandLine, argv[i]); + strcat(CommandLine, "" "); }
CommandLine[CommandLineLength] = 0;
- // Get the timestamps and execute the command line - time( &StartTime ); - Ret = system( CommandLine ); - time( &FinishTime ); + /* Get the timestamps and execute the command line */ + time(&StartTime); + Ret = system(CommandLine); + time(&FinishTime);
- // Compute the needed time and print it - TotalTime = difftime( FinishTime, StartTime ); + /* Compute the needed time and print it */ + TotalTime = difftime(FinishTime, StartTime);
Second = (int)TotalTime % 60; TotalTime = TotalTime / 60; Minute = (int)TotalTime % 60; Hour = TotalTime / 60;
- printf( "\nTotal Build Time: %02d:%02d:%02d\n", Hour, Minute, Second ); + printf("\nTotal Build Time: %02d:%02d:%02d\n", Hour, Minute, Second);
- // Final actions - free( CommandLine ); + /* Final actions */ + free(CommandLine); return Ret; }
Removed: trunk/tools/RosBE/RosBE-Unix/README URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/README?rev=3... ============================================================================== --- trunk/tools/RosBE/RosBE-Unix/README [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Unix/README (removed) @@ -1,170 +1,0 @@ - ReactOS Build Environment - Version 1.4 for Unix-based operating systems - Base package and i386 build tools - by Colin Finck (mail@colinfinck.de) - -Introduction -------------- - The ReactOS Build Environment ("RosBE") is a Build Environment for building -ReactOS. This version is targeted at Unix-based operating systems such as -Linux or FreeBSD. - The Installation process of the Build Environment is divided into two parts. - First a script builds the needed compiler tools for your operating system -and installs them. Therefore the "gcc" compiler for your system and some -other build tools have to be installed. - Then another script creates a shortcut for you. This shortcut opens a -Terminal window and prepares all environment settings for building ReactOS. - - -Needed Applications --------------------- - Make sure that the following applications are installed on your system. -They are needed to build the compiler tools. The "RosBE-Builder.sh" script -automatically checks for them: - - * GNU Bash - The executable file and the package name are often called "bash". - All scripts are designed to work only under the Bash shell. Please also - make sure that the file "/bin/bash" exists. For example FreeBSD usually - installs Bash into another directory, so you have to create a symbolic - link "/bin/bash" to the executable file. - - * GNU Bison - The executable file and the package name are often called "bison". - - * Flex - The executable file and the package name are often called "flex". - - * GNU GCC - You need the GCC compiler, which is suitable for your system. The - executable file and the package name are often called "gcc". - Your GCC compiler needs to be able to compile both C and C++ sources. - Therefore the "g++" module also has to be installed. - - * Grep - The executable file and the package name are often called "grep". - - * GNU Make - Make sure that you have the GNU version of "make" installed. For example - FreeBSD uses another version. The executable file and the package name - are often called "make" or "gmake". - - * GNU Makeinfo - The executable file is often called "makeinfo". Usually this file is in a - package called "texinfo". - - -Preparing the installation ---------------------------- - Under some operating systems, you need to perform additional steps before -you can install the Build Environment. This section lists them. - - * FreeBSD - - You have to create a symbolic link "/bin/bash", because FreeBSD - installs Bash to "/usr/local/bin/bash". Simply execute the following - command for doing this: - - ln -s /usr/local/bin/bash /bin/bash - - -Installation -------------- - The Installation of RosBE is very simple, since there are scripts, which do -most of the work for you. Follow these steps to compile and install RosBE for -your used operating system: - - 1. Open a Terminal window and type "su" to become "root" user. - NOTE: Becoming a root user is only required for installing RosBE into the - default directory ("/usr/local/RosBE"). If you want to install it into a - personal directory, you don't need superuser privileges. - 2. Call the "RosBE-Builder.sh" script in the directory of the unpacked - RosBE files. - 3. Follow the directions on the screen until the script ends with "Finished - successfully!" - 4. Type "exit" to switch back to your normal user account. Then call the - "createshortcut.sh" script in the installation directory (usually this - is "/usr/local/RosBE"). - 5. Follow the directions on the screen to create a shortcut for the Build - Environment. - - After that you can easily open a Build Environment for ReactOS by opening -the shortcut. - - -Version Information --------------------- - This version of RosBE for Unix-based operating systems uses the following -components: - - * GNU Binutils v2.19.51-20090127 (snapshot) - compiled for i386-pc-mingw32 - patched with: - - binutils-2.18.50.10-15-2007-snapshot-hpoussin.patch - (http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/Patches/binutils-2.18.5...) - - * GCC, The GNU Compiler Collection v4.1.3-20071015 (snapshot) - compiled for i386-pc-mingw32 - patched with: - - GCC-v4.1-r129382-prerelease-w3seek.patch - (http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/Patches/GCC-v4.1-r12938...) - - GCC-v4.1-r129382-virtual-stdcall-bug27067.patch - (http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/Patches/GCC-v4.1-r12938...) - - GCC-v4.1-r129490-CreateFileMapping-Vista-bug30335.patch - (http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/Patches/GCC-v4.1-r12949...) - - NOTE: This GCC version only supports C and C++ - - * Make 20071219 (CVS version) - * MinGW-Runtime 3.15.2 - * NASM, The Netwide assembler v2.05.01 - * W32api 3.10 - - -Tested Operating Systems -------------------------- - The Build Environment was designed to work on all Unix-based operating -systems. Nevertheless, it is impossible to test it on all possible systems out -there. - The current primary development and test system is Ubuntu 8.10. But users -also reported that it works well under other Linux systems such as Fedora or -openSUSE and Unix derivates like FreeBSD or Mac OS X. - You should be able to compile the build tools on both i386 (32-bit) and -x86_64 (64-bit) systems. - - -Websites ---------- -MinGW - Minimalist GNU for Windows -http://www.mingw.org - -Binutils, the Binary Tools Collection -http://www.gnu.org/software/binutils - -GCC, the GNU Compiler Collection -http://www.gcc.org - -Make, the Makefile processor -http://www.gnu.org/software/make - -NASM, the Netwide Assembler -http://nasm.sourceforge.net - - -Credits --------- -Colin Finck (mail@colinfinck.de) - -Thanks go also to the members of the RosBE-Windows team, namely: -Daniel Reimer (reimer.daniel@freenet.de) -Peter Ward (dralnix@gmail.com) -Pierre Schweitzer (heis_spiter@hotmail.com) - - Special thanks to ROSFan, who created the nice ReactOS Build Environment -Logo. - Special thanks also goes out to all those who provide so much help by -testing out new versions, you know who you are. Without them the RosBE -would not be what it is. - Credits go to Gregor Anich who created the original ReactOS Build -Environment v0.2-3.4.4. - -Inspired by Dazzle from TinyKRNL (http://tinykrnl.org/).
Removed: trunk/tools/RosBE/RosBE-Unix/README.odt URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/README.odt?r... ============================================================================== Binary file - no diff available.
Removed: trunk/tools/RosBE/RosBE-Unix/RosBE-Builder.sh URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/RosBE-Builde... ============================================================================== --- trunk/tools/RosBE/RosBE-Unix/RosBE-Builder.sh [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Unix/RosBE-Builder.sh (removed) @@ -1,449 +1,0 @@ -#!/bin/bash -# -# ReactOS Build Environment for Unix-based Operating Systems - Basic Builder Tool -# Copyright 2007-2009 Colin Finck mail@colinfinck.de -# partially based on the BuildMingwCross script (http://www.mingw.org/MinGWiki/index.php/BuildMingwCross) -# -# Released under GNU GPL v2 or any later version. - -# Constants -ROSBE_VERSION="1.4" -TARGET_ARCH="i386" -KNOWN_ROSBE_VERSIONS="0.3.6 1.1 1.4" -DEFAULT_INSTALL_DIR="/usr/local/RosBE" -NEEDED_TOOLS="bison flex gcc g++ grep makeinfo" # GNU Make has a special check - -# Get the absolute path to the script directory -cd `dirname $0` -SCRIPTDIR="$PWD" -SOURCEDIR="$SCRIPTDIR/sources" - -source "$SCRIPTDIR/scripts/rosbelibrary.sh" - - -echo "*******************************************************************************" -echo "* ReactOS Build Environment for Unix-based Operating Systems *" -echo "* Basic Builder Tool *" -echo "* by Colin Finck mail@colinfinck.de *" -echo "* *" -echo "* Version $ROSBE_VERSION *" -echo "*******************************************************************************" - -echo -echo "This script compiles and installs a complete Build Environment for building ReactOS." -echo - -setup_check_requirements - -# Select the installation directory -boldmsg "Installation Directory" - -echo "In which directory do you want to install it?" -echo "Enter the path to the directory here or simply press ENTER to install it into the default directory." - -# RosBE-Unix 1.4 switched from /usr/RosBE to /usr/local/RosBE, show a message for the people who might want to update -if [ -f "/usr/RosBE/RosBE-Version" ]; then - echo - redmsg "Warning: " "-n" - echo "The default installation path /usr/RosBE was changed to /usr/local/RosBE starting with version 1.4." - echo "If you want to update a previous installation, enter /usr/RosBE here." -fi - -createdir=false -installdir="" -update=false - -while [ "$installdir" = "" ]; do - read -p "[$DEFAULT_INSTALL_DIR] " installdir - echo - - if [ "$installdir" = "" ]; then - installdir=$DEFAULT_INSTALL_DIR - fi - - # Make sure we have the absolute path to the installation directory - installdir=`eval echo $installdir` - - # Check if the installation directory already exists - if [ -f "$installdir" ]; then - echo "The directory "$installdir" is a file! Please enter another directory!" - echo - installdir="" - - elif [ -d "$installdir" ]; then - # Check if the directory is empty - if [ ! "`ls $installdir`" = "" ]; then - if [ -f "$installdir/RosBE-Version" ]; then - # Allow the user to update an already installed RosBE version - choice="" - installed_version=`cat "$installdir/RosBE-Version"` - - for known_version in $KNOWN_ROSBE_VERSIONS; do - if [ "$known_version" = "$installed_version" ]; then - if [ "$installed_version" = "$ROSBE_VERSION" ]; then - echo "The current version of the Build Environment is already installed in this directory." - echo "Please choose one of the following options:" - echo - echo " (R)einstall all components of the Build Environment" - echo " (C)hoose a different installation directory" - echo - - showchoice "R" "r R c C" - else - echo "An older version of the Build Environment has been found in this directory." - echo "Please choose one of the following options:" - echo - echo " (U)pdate the existing Build Environment" - echo " (R)einstall all new components of the Build Environment" - echo " (C)hoose a different installation directory" - echo - - showchoice "U" "u U r R c C" - fi - - echo - break - fi - done - - if [ "$choice" = "U" ] || [ "$choice" = "u" ]; then - update=true - elif [ "$choice" = "C" ] || [ "$choice" = "c" ]; then - echo "Please enter another directory!" - installdir="" - fi - else - echo "The directory "$installdir" is not empty. Do you really want to continue? (yes/no)" - read -p "[no] " answer - echo - - if [ "$answer" != "yes" ]; then - echo "Please enter another directory!" - installdir="" - fi - fi - fi - - else - createdir=true - echo "The directory "$installdir" does not exist. The installation script will create it for you." - echo - fi -done - -# Ready to start -boldmsg "Ready to start" - -echo "Ready to build and install the ReactOS Build Environment." -echo "Press any key to continue or Ctrl+C to exit." -read - -if $update; then - setvalues=false - - process_cpucount=false - process_mingwruntime=false - process_w32api=false - process_binutils=false - process_gcc=false - process_make=false - process_nasm=false - process_buildtime=false - process_scut=false - - # Logic behind this update part: - # - KNOWN_ROSBE_VERSIONS contains all versions from the oldest to the newest one (in this order!) - # - setvalues will be set to true, when the iterator reaches the installed version - # - Then the processing settings of the installed and the later versions will be applied. - # (i.e. if gcc changed from 0.3.7 to 0.3.8, but not from 0.3.6 to 0.3.7, the gcc build will correctly be reprocessed - # if the user has an installed RosBE 0.3.6 and wants to update to 0.3.8) - for known_version in $KNOWN_ROSBE_VERSIONS; do - if [ "$known_version" = "$installed_version" ]; then - setvalues=true - fi - - if $setvalues; then - case "$known_version" in - "0.3.6") - # Updated components from 0.3.6 to 1.1 - process_cpucount=true - process_mingwruntime=true - process_w32api=true - process_binutils=true - process_gcc=true - process_make=true - process_nasm=true - process_scut=true - ;; - - "1.1") - # Updated components from 1.1 to 1.4 - process_binutils=true - process_mingwruntime=true - process_nasm=true - - # Reorganize the existing files - mkdir -p "$installdir/$TARGET_ARCH/bin" - mv "$installdir/bin/mingw32-"* "$installdir/$TARGET_ARCH/bin" - mv "$installdir/$TARGET_ARCH/bin/mingw32-make" "$installdir/bin/make" - mv "$installdir/bin/nasm" "$installdir/$TARGET_ARCH/bin/nasm" - mv "$installdir/bin/ndisasm" "$installdir/$TARGET_ARCH/bin/ndisasm" - mv "$installdir/include" "$installdir/$TARGET_ARCH/include" - mv "$installdir/lib" "$installdir/$TARGET_ARCH/lib" - mv "$installdir/libexec" "$installdir/$TARGET_ARCH/libexec" - mv "$installdir/mingw32" "$installdir/$TARGET_ARCH/mingw32" - ;; - esac - fi - done -else - process_cpucount=true - process_mingwruntime=true - process_w32api=true - process_binutils=true - process_gcc=true - process_make=true - process_nasm=true - process_buildtime=true - process_scut=true - - # Create the directory if necessary - if $createdir; then - if ! mkdir -p "$installdir"; then - redmsg "Could not create "$installdir", aborted!" - return 1 - fi - fi -fi - -# Test if the installation directory is writeable -if [ ! -w "$installdir" ]; then - redmsg "Installation directory "$installdir" is not writeable, aborted!" - return 1 -fi - -# -# Build the tools -# -boldmsg "Building..." -mkdir "$installdir/bin" >& /dev/null -mkdir -p "$installdir/$TARGET_ARCH/mingw32" >& /dev/null - -# cpucount -if $process_cpucount; then - echo -n "Compiling cpucount... " - gcc -s -o "$installdir/bin/cpucount" "$SCRIPTDIR/tools/cpucount.c" - setup_check_run -fi - -CPUCOUNT=`$installdir/bin/cpucount -x1` -cd "$installdir/$TARGET_ARCH/mingw32" - -# mingw-runtime -if $process_mingwruntime; then - echo -n "Extracting mingw-runtime... " - tar -xjf "$SOURCEDIR/mingw-runtime.tar.bz2" >& "$SCRIPTDIR/tar.log" - setup_check_run "tar" -fi - -# w32api -if $process_w32api; then - echo -n "Extracting w32api... " - tar -xjf "$SOURCEDIR/w32api.tar.bz2" >& "$SCRIPTDIR/tar.log" - setup_check_run "tar" -fi - -cd "$SOURCEDIR" - -# binutils -if $process_binutils; then - rm -rf "binutils" - rm -rf "binutils-build" - - echo -n "Extracting binutils... " - tar -xjf "binutils.tar.bz2" >& "$SCRIPTDIR/tar.log" - setup_check_run "tar" - - echo -n "Configuring binutils... " - mkdir "binutils-build" - cd "binutils-build" - ../binutils/configure --prefix="$installdir/$TARGET_ARCH" --target=mingw32 --disable-nls --with-gcc \ - --with-gnu-as --with-gnu-ld --disable-shared >& "$SCRIPTDIR/configure.log" - setup_check_run "configure" - - echo -n "Building binutils... " - $makecmd -j $CPUCOUNT CFLAGS="-O2 -fno-exceptions" LDFLAGS="-s" >& "$SCRIPTDIR/make.log" - setup_check_run "make" - - echo -n "Installing binutils... " - $makecmd install >& "$SCRIPTDIR/make.log" - setup_check_run "make" - - echo -n "Cleaning up binutils... " - cd "$SOURCEDIR" - rm -rf "binutils-build" - rm -rf "binutils" - setup_check_run -fi - -# gcc -if $process_gcc; then - rm -rf "gcc" - rm -rf "gcc-build" - - echo -n "Extracting gcc... " - tar -xjf "gcc.tar.bz2" >& "$SCRIPTDIR/tar.log" - setup_check_run "tar" - - echo -n "Configuring gcc... " - mkdir "gcc-build" - cd "gcc-build" - ../gcc/configure --prefix="$installdir/$TARGET_ARCH" --target=mingw32 \ - --with-headers="$installdir/$TARGET_ARCH/mingw32/include"--with-gcc --with-gnu-ld \ - --with-gnu-as --enable-languages=c,c++ --enable-checking=release \ - --enable-threads=win32 --disable-win32-registry --disable-nls \ - --disable-shared >& "$SCRIPTDIR/configure.log" - setup_check_run "configure" - - echo -n "Building gcc... " - $makecmd -j $CPUCOUNT CFLAGS="-O2" CXXFLAGS="-O2" LDFLAGS="-s" >& "$SCRIPTDIR/make.log" - setup_check_run "make" - - echo -n "Installing gcc... " - $makecmd install >& "$SCRIPTDIR/make.log" - setup_check_run "make" - - echo -n "Cleaning up gcc... " - cd "$SOURCEDIR" - rm -rf "gcc-build" - rm -rf "gcc" - setup_check_run -fi - -# make -if $process_make; then - rm -rf "make" - rm -rf "make-build" - - echo -n "Extracting make... " - tar -xjf "make.tar.bz2" >& "$SCRIPTDIR/tar.log" - setup_check_run "tar" - - echo -n "Configuring make... " - mkdir "make-build" - cd "make-build" - ../make/configure --prefix="$installdir" --disable-dependency-tracking \ - --disable-nls --enable-case-insensitive-file-system - --disable-job-server --disable-rpath >& "$SCRIPTDIR/configure.log" - setup_check_run "configure" - - echo -n "Building make... " - $makecmd -j $CPUCOUNT CFLAGS="-s -O2 -mms-bitfields" >& "$SCRIPTDIR/make.log" - setup_check_run "make" - - echo -n "Installing make... " - $makecmd install >& "$SCRIPTDIR/make.log" - setup_check_run "make" - - echo -n "Cleaning up make... " - cd "$SOURCEDIR" - rm -rf "make-build" - rm -rf "make" - setup_check_run -fi - -# nasm -if $process_nasm; then - rm -rf "nasm" - - echo -n "Extracting nasm... " - tar -xjf "nasm.tar.bz2" >& "$SCRIPTDIR/tar.log" - setup_check_run "tar" - - echo -n "Configuring nasm... " - cd "nasm" - ./configure --prefix="$installdir/$TARGET_ARCH" >& "$SCRIPTDIR/configure.log" - setup_check_run "configure" - - echo -n "Building nasm... " - $makecmd -j $CPUCOUNT >& "$SCRIPTDIR/make.log" - setup_check_run "make" - - echo -n "Installing nasm... " - $makecmd install >& "$SCRIPTDIR/make.log" - setup_check_run "make" - - echo -n "Cleaning up nasm... " - cd "$SOURCEDIR" - rm -rf "nasm" - setup_check_run -fi - -# Final actions -echo -boldmsg "Final actions" - -if [ "$installdir" = "/usr/RosBE" ] && $update; then - # Changed default installation directory starting with RosBE-Unix 1.4 - echo "Do you want to move /usr/RosBE to /usr/local/RosBE? (yes/no)" - read -p "[yes] " answer - - if [ "$answer" = "" ] || [ "$answer" = "yes" ]; then - mv "/usr/RosBE" "/usr/local/RosBE" - installdir="/usr/local/RosBE" - fi -fi - -if $process_buildtime; then - echo -n "Compiling buildtime... " - gcc -s -o "$installdir/bin/buildtime" "$SCRIPTDIR/tools/buildtime.c" - setup_check_run -fi - -if $process_scut; then - echo -n "Compiling scut..." - gcc -s -o "$installdir/bin/scut" "$SCRIPTDIR/tools/scut.c" - setup_check_run -fi - -echo -n "Removing unneeded files... " -rm -rf "$installdir/$TARGET_ARCH/mingw32/sys-include" -rm -rf "$installdir/$TARGET_ARCH/info" -rm -rf "$installdir/$TARGET_ARCH/man" -rm -rf "$installdir/$TARGET_ARCH/share" -setup_check_run - -echo -n "Removing debugging symbols... " -ls "$installdir/$TARGET_ARCH/bin/"* "$installdir/$TARGET_ARCH/mingw32/bin/"* | grep -v "gccbug" | -while read file; do - strip "$file" -done -setup_check_run - -echo -n "Copying scripts... " -cp -R "$SCRIPTDIR/scripts/"* "$installdir" -setup_check_run - -echo -n "Writing version... " -echo "$ROSBE_VERSION" > "$installdir/RosBE-Version" -setup_check_run -echo - -# Finish -boldmsg "Finished successfully!" -echo "To create a shortcut to the Build Environment on the Desktop, please switch back to your" -echo "normal User Account (I assume you ran this script as "root")." -echo "Then execute the following command:" -echo -echo " $installdir/createshortcut.sh" -echo -echo "If you just want to start the Build Environment without using a shortcut, execute the" -echo "following command:" -echo -echo " $installdir/RosBE.sh [source directory] [color code] [architecture]" -echo -echo "All parameters for that script are optional." -echo - -return 0 -