Author: cfinck Date: Thu Apr 16 23:13:24 2009 New Revision: 40546
URL: http://svn.reactos.org/svn/reactos?rev=40546&view=rev Log: - Bump version to 1.4.1 - Add the environment variables ROSBE_HOST_CFLAGS, ROSBE_HOST_CXXFLAGS, ROSBE_TARGET_CFLAGS, ROSBE_TARGET_CXXFLAGS They contain existing pathes for the built-in include directories of the Host C/C++ and Target C/C++ compilers as compiler flags. Required for kjk's rbuild work. - Write a small tool for parsing the output of cpp -v to get the built-in include directories
Added: trunk/tools/RosBE/RosBE-Unix/Base-i386/tools/getincludes.c (with props) Modified: trunk/tools/RosBE/RosBE-Unix/Base-i386/README trunk/tools/RosBE/RosBE-Unix/Base-i386/README.odt trunk/tools/RosBE/RosBE-Unix/Base-i386/RosBE-Builder.sh trunk/tools/RosBE/RosBE-Unix/Base-i386/scripts/RosBE.sh trunk/tools/RosBE/RosBE-Unix/Base-i386/scripts/charch.sh
Modified: trunk/tools/RosBE/RosBE-Unix/Base-i386/README URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/Base-i386/RE... ============================================================================== --- trunk/tools/RosBE/RosBE-Unix/Base-i386/README [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Unix/Base-i386/README [iso-8859-1] Thu Apr 16 23:13:24 2009 @@ -1,5 +1,5 @@ ReactOS Build Environment - Version 1.4 for Unix-based operating systems + Version 1.4.1 for Unix-based operating systems Base package and i386 build tools by Colin Finck (mail@colinfinck.de)
Modified: trunk/tools/RosBE/RosBE-Unix/Base-i386/README.odt URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/Base-i386/RE... ============================================================================== Binary files - no diff available.
Modified: trunk/tools/RosBE/RosBE-Unix/Base-i386/RosBE-Builder.sh URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/Base-i386/Ro... ============================================================================== --- trunk/tools/RosBE/RosBE-Unix/Base-i386/RosBE-Builder.sh [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Unix/Base-i386/RosBE-Builder.sh [iso-8859-1] Thu Apr 16 23:13:24 2009 @@ -7,9 +7,9 @@ # Released under GNU GPL v2 or any later version.
# Constants -ROSBE_VERSION="1.4" +ROSBE_VERSION="1.4.1" TARGET_ARCH="i386" -KNOWN_ROSBE_VERSIONS="0.3.6 1.1 1.4" +KNOWN_ROSBE_VERSIONS="0.3.6 1.1 1.4 1.4.1" DEFAULT_INSTALL_DIR="/usr/local/RosBE" NEEDED_TOOLS="bison flex gcc g++ grep makeinfo" # GNU Make has a special check
@@ -26,7 +26,7 @@ echo "* Builder Tool for the Base package *" echo "* by Colin Finck mail@colinfinck.de *" echo "* *" -echo "* Version $ROSBE_VERSION *" +echo "* Version $ROSBE_VERSION *" echo "*******************************************************************************"
echo @@ -157,6 +157,7 @@ process_nasm=false process_buildtime=false process_scut=false + process_getincludes=false
# Logic behind this update part: # - KNOWN_ROSBE_VERSIONS contains all versions from the oldest to the newest one (in this order!) @@ -199,6 +200,10 @@ mv "$installdir/libexec" "$installdir/$TARGET_ARCH/libexec" mv "$installdir/mingw32" "$installdir/$TARGET_ARCH/mingw32" ;; + + "1.4") + # Updated components from 1.4 to 1.4.1 + process_getincludes=true esac fi done @@ -212,6 +217,7 @@ process_nasm=true process_buildtime=true process_scut=true + process_getincludes=true
# Delete the contents of the current installation directory if we're reinstalling if $reinstall; then @@ -415,8 +421,14 @@ fi
if $process_scut; then - echo -n "Compiling scut..." + echo -n "Compiling scut... " gcc -s -o "$installdir/bin/scut" "$SCRIPTDIR/tools/scut.c" + setup_check_run +fi + +if $process_getincludes; then + echo -n "Compiling getincludes... " + gcc -s -o "$installdir/bin/getincludes" "$SCRIPTDIR/tools/getincludes.c" setup_check_run fi
Modified: trunk/tools/RosBE/RosBE-Unix/Base-i386/scripts/RosBE.sh URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/Base-i386/sc... ============================================================================== --- trunk/tools/RosBE/RosBE-Unix/Base-i386/scripts/RosBE.sh [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Unix/Base-i386/scripts/RosBE.sh [iso-8859-1] Thu Apr 16 23:13:24 2009 @@ -28,6 +28,10 @@ export CXXFLAGS= export LDFLAGS=
+# Export the host compiler search pathes to make them available for other build tools +export ROSBE_HOST_CFLAGS=`cpp -x c -v < /dev/null 2>&1 | $_ROSBE_ROSSCRIPTDIR/bin/getincludes` +export ROSBE_HOST_CXXFLAGS=`cpp -x c++ -v < /dev/null 2>&1 | $_ROSBE_ROSSCRIPTDIR/bin/getincludes` + # Read the RosBE version # The file "RosBE-Version" has been created by the RosBE-Builder.sh script export _ROSBE_VERSION=`cat "$_ROSBE_ROSSCRIPTDIR/RosBE-Version"` @@ -48,12 +52,14 @@ change_architecture $3 fi
+source "$_ROSBE_ROSSCRIPTDIR/$_ROSBE_ARCH/setvars.sh" + # Display banner echo "*******************************************************************************" echo "* ReactOS Build Environment for Unix-based Operating Systems *" echo "* by Colin Finck mail@colinfinck.de *" echo "* *" -echo "* Version $_ROSBE_VERSION *" +echo "* Version $_ROSBE_VERSION *" echo "*******************************************************************************" echo echo "For a list of all included commands, type: "help""
Modified: trunk/tools/RosBE/RosBE-Unix/Base-i386/scripts/charch.sh URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/Base-i386/sc... ============================================================================== --- trunk/tools/RosBE/RosBE-Unix/Base-i386/scripts/charch.sh [iso-8859-1] (original) +++ trunk/tools/RosBE/RosBE-Unix/Base-i386/scripts/charch.sh [iso-8859-1] Thu Apr 16 23:13:24 2009 @@ -18,6 +18,7 @@ # Change the architecture source "$_ROSBE_ROSSCRIPTDIR/rosbelibrary.sh" change_architecture $1 +source "$_ROSBE_ROSSCRIPTDIR/$_ROSBE_ARCH/setvars.sh" set_path_variable
# Display tool versions
Added: trunk/tools/RosBE/RosBE-Unix/Base-i386/tools/getincludes.c URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/Base-i386/to... ============================================================================== --- trunk/tools/RosBE/RosBE-Unix/Base-i386/tools/getincludes.c (added) +++ trunk/tools/RosBE/RosBE-Unix/Base-i386/tools/getincludes.c [iso-8859-1] Thu Apr 16 23:13:24 2009 @@ -1,0 +1,38 @@ +/* + * PROJECT: ReactOS Build Environment Tools + * LICENSE: GNU GPLv2 or any later version as published by the Free Software Foundation + * PURPOSE: Parse the search directory output of 'cpp -v' to compiler flags + * COPYRIGHT: Copyright 2009 Colin Finck colin@reactos.org + */ + +#include <stdio.h> +#include <string.h> + +int main() +{ + char Line[1024]; + + /* Skip all lines up to the second #include */ + for(;;) + { + if(!fgets(Line, sizeof(Line), stdin)) + return 1; + + if(strstr(Line, "#include <...> ")) + break; + } + + /* The pathes should now follow prefixed by a single space */ + for(;;) + { + if(!fgets(Line, sizeof(Line), stdin) || *Line != ' ') + break; + + /* This is an include directory, remove the newline character and output it */ + Line[strlen(Line) - 1] = 0; + printf("-I%s ", &Line[1]); + } + + printf("\n"); + return 0; +}
Propchange: trunk/tools/RosBE/RosBE-Unix/Base-i386/tools/getincludes.c ------------------------------------------------------------------------------ svn:eol-style = native