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/README?rev=40546&r1=40545&r2=40546&view=diff
==============================================================================
--- 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 ([email protected])
 

Modified: trunk/tools/RosBE/RosBE-Unix/Base-i386/README.odt
URL: 
http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/Base-i386/README.odt?rev=40546&r1=40545&r2=40546&view=diff
==============================================================================
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/RosBE-Builder.sh?rev=40546&r1=40545&r2=40546&view=diff
==============================================================================
--- 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 <[email protected]>               
     *"
 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/scripts/RosBE.sh?rev=40546&r1=40545&r2=40546&view=diff
==============================================================================
--- 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 <[email protected]>               
     *"
 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/scripts/charch.sh?rev=40546&r1=40545&r2=40546&view=diff
==============================================================================
--- 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/tools/getincludes.c?rev=40546&view=auto
==============================================================================
--- 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 <[email protected]>
+ */
+
+#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

Reply via email to