[ros-diffs] [cfinck] 45493: - Make "getincludes" a shared tool and also use it for setting the ROSBE_HOST/TARGET_CFLAGS/CXXFLAGS variables in RosBE-Windows. - Modify it to put quotes around the pathes it outputs. (for pathes containing spaces)

cfinck at svn.reactos.org cfinck at svn.reactos.org
Sun Feb 7 23:18:32 CET 2010


Author: cfinck
Date: Sun Feb  7 23:18:32 2010
New Revision: 45493

URL: http://svn.reactos.org/svn/reactos?rev=45493&view=rev
Log:
- Make "getincludes" a shared tool and also use it for setting the ROSBE_HOST/TARGET_CFLAGS/CXXFLAGS variables in RosBE-Windows.
- Modify it to put quotes around the pathes it outputs. (for pathes containing spaces)

Added:
    trunk/tools/RosBE/Tools/getincludes.c
      - copied, changed from r45295, trunk/tools/RosBE/RosBE-Unix/Base-i386/tools/getincludes.c
Removed:
    trunk/tools/RosBE/RosBE-Unix/Base-i386/tools/getincludes.c
Modified:
    trunk/tools/RosBE/RosBE-Unix/makepackage.sh
    trunk/tools/RosBE/RosBE-Windows/Root/rosbe-gcc-env.cmd

Removed: 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=45492&view=auto
==============================================================================
--- trunk/tools/RosBE/RosBE-Unix/Base-i386/tools/getincludes.c [iso-8859-1] (original)
+++ trunk/tools/RosBE/RosBE-Unix/Base-i386/tools/getincludes.c (removed)
@@ -1,38 +1,0 @@
-/*
- * 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 at 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;
-}

Modified: trunk/tools/RosBE/RosBE-Unix/makepackage.sh
URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Unix/makepackage.sh?rev=45493&r1=45492&r2=45493&view=diff
==============================================================================
--- trunk/tools/RosBE/RosBE-Unix/makepackage.sh [iso-8859-1] (original)
+++ trunk/tools/RosBE/RosBE-Unix/makepackage.sh [iso-8859-1] Sun Feb  7 23:18:32 2010
@@ -62,7 +62,7 @@
 case "$package_name" in
 	"Base-i386")
 		sources+="gmp make mingw_runtime_dev mpfr nasm w32api"
-		tools+="cpucount scut"
+		tools+="cpucount getincludes scut"
 esac
 
 # Check if all required files exist

Modified: trunk/tools/RosBE/RosBE-Windows/Root/rosbe-gcc-env.cmd
URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/RosBE-Windows/Root/rosbe-gcc-env.cmd?rev=45493&r1=45492&r2=45493&view=diff
==============================================================================
--- trunk/tools/RosBE/RosBE-Windows/Root/rosbe-gcc-env.cmd [iso-8859-1] (original)
+++ trunk/tools/RosBE/RosBE-Windows/Root/rosbe-gcc-env.cmd [iso-8859-1] Sun Feb  7 23:18:32 2010
@@ -3,7 +3,7 @@
 :: LICENSE:     GNU General Public License v2. (see LICENSE.txt)
 :: FILE:        Root/rosbe-gcc-env.cmd
 :: PURPOSE:     Set up toolchain-specific settings when initializing RosBE and when using "charch" or "chdefgcc"
-:: COPYRIGHT:   Copyright 2009 Daniel Reimer <reimer.daniel at freenet.de>
+:: COPYRIGHT:   Copyright 2010 Daniel Reimer <reimer.daniel at freenet.de>
 ::                             Peter Ward <dralnix at gmail.com>
 ::                             Colin Finck <colin at reactos.org>
 ::
@@ -31,12 +31,7 @@
 
 set PATH=%_ROSBE_HOST_MINGWPATH%\bin;%_ROSBE_TARGET_MINGWPATH%\bin;%_ROSBE_ORIGINALPATH%
 
-for /f "usebackq tokens=3" %%i in (`"%_ROSBE_PREFIX%gcc -v 2>&1 | find "gcc version""`) do set _ROSBE_TARGET_GCCVERSION=%%i
-for /f "usebackq tokens=2" %%i in (`"%_ROSBE_PREFIX%gcc -v 2>&1 | find "Target""`) do set _ROSBE_TARGET_GCCTARGET=%%i
-for /f "usebackq tokens=3" %%i in (`"gcc -v 2>&1 | find "gcc version""`) do set _ROSBE_HOST_GCCVERSION=%%i
-for /f "usebackq tokens=2" %%i in (`"gcc -v 2>&1 | find "Target""`) do set _ROSBE_HOST_GCCTARGET=%%i
-
-set ROSBE_HOST_CFLAGS=-I"%_ROSBE_HOST_MINGWPATH%\%_ROSBE_HOST_GCCTARGET%\include" -I"%_ROSBE_HOST_MINGWPATH%\lib\gcc\%_ROSBE_HOST_GCCTARGET%\%_ROSBE_HOST_GCCVERSION%\include"
-set ROSBE_HOST_CXXFLAGS=-I"%_ROSBE_HOST_MINGWPATH%\%_ROSBE_HOST_GCCTARGET%\include" -I"%_ROSBE_HOST_MINGWPATH%\lib\gcc\%_ROSBE_HOST_GCCTARGET%\%_ROSBE_HOST_GCCVERSION%\include\c++"  -I"%_ROSBE_HOST_MINGWPATH%\lib\gcc\%_ROSBE_HOST_GCCTARGET%\%_ROSBE_HOST_GCCVERSION%\include"
-set ROSBE_TARGET_CFLAGS=-I"%_ROSBE_TARGET_MINGWPATH%\%_ROSBE_TARGET_GCCTARGET%\include" -I"%_ROSBE_TARGET_MINGWPATH%\lib\gcc\%_ROSBE_TARGET_GCCTARGET%\%_ROSBE_TARGET_GCCVERSION%\include"
-set ROSBE_TARGET_CXXFLAGS=-I"%_ROSBE_TARGET_MINGWPATH%\%_ROSBE_TARGET_GCCTARGET%\include" -I"%_ROSBE_TARGET_MINGWPATH%\include\c++\%_ROSBE_TARGET_GCCVERSION%" -I"%_ROSBE_TARGET_MINGWPATH%\include\c++\%_ROSBE_TARGET_GCCVERSION%\%_ROSBE_TARGET_GCCTARGET%" -I"%_ROSBE_TARGET_MINGWPATH%\lib\gcc\%_ROSBE_TARGET_GCCTARGET%\%_ROSBE_TARGET_GCCVERSION%\include" -I"%_ROSBE_TARGET_MINGWPATH%\lib\gcc\%_ROSBE_TARGET_GCCTARGET%\%_ROSBE_TARGET_GCCVERSION%\include\c++" -I"%_ROSBE_TARGET_MINGWPATH%\%_ROSBE_TARGET_GCCTARGET%\include\c++\%_ROSBE_TARGET_GCCVERSION%" -I"%_ROSBE_TARGET_MINGWPATH%\%_ROSBE_TARGET_GCCTARGET%\include\c++\%_ROSBE_TARGET_GCCVERSION%\%_ROSBE_TARGET_GCCTARGET%"
+for /f "usebackq tokens=*" %%i in (`"cpp -x c -v <NUL 2>&1 | getincludes"`) do set ROSBE_HOST_CFLAGS=%%i
+for /f "usebackq tokens=*" %%i in (`"cpp -x c++ -v <NUL 2>&1 | getincludes"`) do set ROSBE_HOST_CXXFLAGS=%%i
+for /f "usebackq tokens=*" %%i in (`"%_ROSBE_PREFIX%cpp -x c -v <NUL 2>&1 | getincludes"`) do set ROSBE_TARGET_CFLAGS=%%i
+for /f "usebackq tokens=*" %%i in (`"%_ROSBE_PREFIX%cpp -x c++ -v <NUL 2>&1 | getincludes"`) do set ROSBE_TARGET_CXXFLAGS=%%i

Copied: trunk/tools/RosBE/Tools/getincludes.c (from r45295, trunk/tools/RosBE/RosBE-Unix/Base-i386/tools/getincludes.c)
URL: http://svn.reactos.org/svn/reactos/trunk/tools/RosBE/Tools/getincludes.c?p2=trunk/tools/RosBE/Tools/getincludes.c&p1=trunk/tools/RosBE/RosBE-Unix/Base-i386/tools/getincludes.c&r1=45295&r2=45493&rev=45493&view=diff
==============================================================================
--- trunk/tools/RosBE/RosBE-Unix/Base-i386/tools/getincludes.c [iso-8859-1] (original)
+++ trunk/tools/RosBE/Tools/getincludes.c [iso-8859-1] Sun Feb  7 23:18:32 2010
@@ -2,7 +2,7 @@
  * 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 at reactos.org>
+ * COPYRIGHT:   Copyright 2009-2010 Colin Finck <colin at reactos.org>
  */
 
 #include <stdio.h>
@@ -30,7 +30,7 @@
 
         /* This is an include directory, remove the newline character and output it */
         Line[strlen(Line) - 1] = 0;
-        printf("-I%s ", &Line[1]);
+        printf("-I\"%s\" ", &Line[1]);
     }
 
     printf("\n");




More information about the Ros-diffs mailing list