Hi,

I have submitted a patch for review:

    https://gerrit.libreoffice.org/2521

To pull it, you can do:

    git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/21/2521/1

do not require cygwin gcc

Change-Id: I29de91f2eeb5c9317271aecf861f64a3c8eff73f
---
M configure.ac
M solenv/CustomTarget_concat-deps.mk
M solenv/Package_concat-deps.mk
M solenv/bin/concat-deps.c
4 files changed, 48 insertions(+), 53 deletions(-)



diff --git a/configure.ac b/configure.ac
index 62d2f78..97c351f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2158,20 +2158,6 @@
     SOLARVER=${BUILDDIR}/solver
 fi
 
-dnl ===================================================================
-dnl Extra check for Windows. Cygwin builds need gcc to build concat-deps
-dnl although MSVC is used to build other build-time tools and
-dnl LibreOffice itself.
-dnl ===================================================================
-if test "$build_os" = "cygwin"; then
-    AC_MSG_CHECKING([for Cygwin gcc/g++])
-    if which gcc > /dev/null && which g++ > /dev/null; then
-        AC_MSG_RESULT([found])
-    else
-        AC_MSG_ERROR([Cygwin gcc and g++ are needed, please install them.])
-    fi
-fi
-
 # remenber SYSBASE value
 AC_SUBST(SYSBASE)
 
@@ -2242,32 +2228,34 @@
 dnl  Checks for C compiler,
 dnl  The check for the C++ compiler is later on.
 dnl ===================================================================
-GCC_HOME_SET="true"
-AC_MSG_CHECKING([gcc home])
-if test -z "$with_gcc_home"; then
-    if test "$enable_icecream" = "yes"; then
-        if test -d "/usr/lib/icecc/bin"; then
-            GCC_HOME="/usr/lib/icecc/"
-        else
-            GCC_HOME="/opt/icecream/"
-        fi
-    else
-        GCC_HOME=`which gcc | $SED -e s,/bin/gcc,,`
-        GCC_HOME_SET="false"
-    fi
-else
-    GCC_HOME="$with_gcc_home"
-fi
-AC_MSG_RESULT($GCC_HOME)
-AC_SUBST(GCC_HOME)
+if test "$_os" != "WINNT" -a "$WITH_MINGW" != "yes"; then
+       GCC_HOME_SET="true"
+       AC_MSG_CHECKING([gcc home])
+       if test -z "$with_gcc_home"; then
+               if test "$enable_icecream" = "yes"; then
+                       if test -d "/usr/lib/icecc/bin"; then
+                               GCC_HOME="/usr/lib/icecc/"
+                       else
+                               GCC_HOME="/opt/icecream/"
+                       fi
+               else
+                       GCC_HOME=`which gcc | $SED -e s,/bin/gcc,,`
+                       GCC_HOME_SET="false"
+               fi
+       else
+               GCC_HOME="$with_gcc_home"
+       fi
+       AC_MSG_RESULT($GCC_HOME)
+       AC_SUBST(GCC_HOME)
 
-if test "$GCC_HOME_SET" = "true"; then
-    if test -z "$CC"; then
-        CC="$GCC_HOME/bin/gcc"
-    fi
-    if test -z "$CXX"; then
-        CXX="$GCC_HOME/bin/g++"
-    fi
+       if test "$GCC_HOME_SET" = "true"; then
+               if test -z "$CC"; then
+                       CC="$GCC_HOME/bin/gcc"
+               fi
+               if test -z "$CXX"; then
+                       CXX="$GCC_HOME/bin/g++"
+               fi
+       fi
 fi
 
 dnl The following checks for gcc, cc and then cl (if it weren't guarded for 
win32)
diff --git a/solenv/CustomTarget_concat-deps.mk 
b/solenv/CustomTarget_concat-deps.mk
index 1f138c5..6e8d56a 100644
--- a/solenv/CustomTarget_concat-deps.mk
+++ b/solenv/CustomTarget_concat-deps.mk
@@ -9,16 +9,15 @@
 
 $(eval $(call gb_CustomTarget_CustomTarget,solenv/concat-deps))
 
-$(call gb_CustomTarget_get_target,solenv/concat-deps) : \
-       $(call gb_CustomTarget_get_workdir,solenv/concat-deps)/concat-deps
+$(eval $(call gb_CustomTarget_register_targets,solenv/concat-deps,\
+       concat-deps$(gb_Executable_EXT_for_build) \
+))
 
-$(call gb_CustomTarget_get_workdir,solenv/concat-deps)/concat-deps : \
-               $(SRCDIR)/solenv/bin/concat-deps.c \
-               | $(call gb_CustomTarget_get_workdir,solenv/concat-deps)/.dir
-       $(call gb_Output_announce,solenv/concat-deps,$(true),GCC,1)
+$(call 
gb_CustomTarget_get_workdir,solenv/concat-deps)/concat-deps$(gb_Executable_EXT_for_build)
 : \
+               $(SRCDIR)/solenv/bin/concat-deps.c
+       $(call gb_Output_announce,solenv/concat-deps,$(true),C,1)
 ifeq ($(COM_FOR_BUILD),MSC)
-       # on cygwin force the use of gcc
-       gcc -O2 $< -o $@
+       LIB="$(ILIB)" $(CC_FOR_BUILD) -nologo $(SOLARINC) -O2 $< -Fo$(dir $@) 
-Fe$(dir $@)
 else
        $(CC_FOR_BUILD) -O2 $< -o $@
 endif
diff --git a/solenv/Package_concat-deps.mk b/solenv/Package_concat-deps.mk
index 9d6319d..9ede386 100644
--- a/solenv/Package_concat-deps.mk
+++ b/solenv/Package_concat-deps.mk
@@ -9,6 +9,6 @@
 
 $(eval $(call gb_Package_Package,solenv_concat-deps,$(call 
gb_CustomTarget_get_workdir,solenv/concat-deps)))
 
-$(eval $(call 
gb_Package_add_file,solenv_concat-deps,bin/concat-deps,concat-deps))
+$(eval $(call 
gb_Package_add_file,solenv_concat-deps,bin/concat-deps$(gb_Executable_EXT_for_build),concat-deps$(gb_Executable_EXT_for_build)))
 
 # vim: set noet sw=4 ts=4:
diff --git a/solenv/bin/concat-deps.c b/solenv/bin/concat-deps.c
index 2a0889d..b8fe2cf 100644
--- a/solenv/bin/concat-deps.c
+++ b/solenv/bin/concat-deps.c
@@ -30,7 +30,7 @@
 #define USE_MEMORY_ALIGNMENT 4
 #endif /* Def _AIX */
 
-#ifdef __CYGWIN__
+#ifdef _MSC_VER
 #define __windows
 #define CORE_BIG_ENDIAN 0
 #define CORE_LITTLE_ENDIAN 1
@@ -97,7 +97,11 @@
 #ifdef __windows
 #define FILE_O_RDONLY     _O_RDONLY
 #define FILE_O_BINARY     _O_BINARY
-#define PATHNCMP strncasecmp /* MSVC converts paths to lower-case sometimes? */
+#define PATHNCMP _strnicmp /* MSVC converts paths to lower-case sometimes? */
+#define inline __inline
+#define snprintf _snprintf
+#define ssize_t long
+#define S_ISREG(mode) (((mode) & _S_IFMT) == (_S_IFREG)) /* MSVC does not have 
this macro */
 #else /* not windaube */
 #define FILE_O_RDONLY     O_RDONLY
 #define FILE_O_BINARY     0
@@ -775,10 +779,12 @@
 {
     /* is there some obvious way to printf N characters that i'm missing? */
     size_t size = end - token + 1;
-    char tmp[size];
+    char* tmp;
+    tmp=malloc(size*sizeof(tmp));
     snprintf(tmp, size, "%s", token);
     fputs(tmp, stdout);
     fputs(".done ", stdout);
+    free(tmp);
 }
 
 /* prefix paths to absolute */
@@ -787,6 +793,7 @@
     char* token;
     char* end;
     int boost_count = 0;
+    int token_len;
     const char * unpacked_end = 0; /* end of UnpackedTarget match (if any) */
     /* for UnpackedTarget the target is GenC{,xx}Object, dont mangle! */
     int target_seen = 0;
@@ -805,7 +812,7 @@
         while (*end && (' ' != *end) && ('\t' != *end) && (':' != *end)) {
             ++end;
         }
-        int token_len = end - token;
+        token_len = end - token;
         if (target_seen &&
             elide_dependency(token, token_len, &unpacked_end))
         {
@@ -855,8 +862,9 @@
 
 static inline char * eat_space_at_end(char * end)
 {
+    char * real_end;
     assert('\0' == *end);
-    char * real_end = end - 1;
+    real_end = end - 1;
     while (' ' == *real_end || '\t' == *real_end || '\n' == *real_end
                 || ':' == *real_end)
     {    /* eat colon and whitespace at end */

-- 
To view, visit https://gerrit.libreoffice.org/2521
To unsubscribe, visit https://gerrit.libreoffice.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I29de91f2eeb5c9317271aecf861f64a3c8eff73f
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Peter Foley <pefol...@verizon.net>

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to