[Libreoffice-commits] .: solenv/bin solenv/gbuild

Bjoern Michaelsen bmichaelsen at kemper.freedesktop.org
Wed Aug 1 13:43:05 PDT 2012


 solenv/bin/concat-deps.c                |   42 ++------------------------------
 solenv/gbuild/platform/com_GCC_class.mk |    8 +++---
 2 files changed, 7 insertions(+), 43 deletions(-)

New commits:
commit 79e1b9cb2305bc00665e94afd6a00e9f18b76bf8
Author: Bjoern Michaelsen <bjoern.michaelsen at canonical.com>
Date:   Wed Aug 1 19:44:04 2012 +0200

    always compile from SRCDIR
    
    * this helps getting nonbroken deps if using some ccache/CCACHE_BASEDIR combos
    
    Change-Id: I401e55cc10b16aa5901348909237e97d05ab2761

diff --git a/solenv/bin/concat-deps.c b/solenv/bin/concat-deps.c
index 8c9354b..e68093b 100644
--- a/solenv/bin/concat-deps.c
+++ b/solenv/bin/concat-deps.c
@@ -111,10 +111,7 @@
 
 static char* base_dir_var = "$(SRCDIR)";
 #define kBASE_DIR_VAR_LENGTH 9
-static char* current_dir;
-static size_t current_dir_length;
 static char* base_dir;
-static size_t base_dir_length;
 
 #ifdef __GNUC__
 #define clz __builtin_clz
@@ -715,13 +712,10 @@ char* lastnondotdot;
     fputs(path, stdout);
 }
 
-static char* print_fullpaths_buffer = NULL;
-static size_t print_fullpaths_buffersize = 0;
 /* prefix paths to absolute */
 static inline void print_fullpaths(char* line)
 {
 char* token;
-size_t token_length;;
 
     token = strtok(line," ");
     while(token != NULL)
@@ -732,19 +726,9 @@ size_t token_length;;
         }
         else
         {
-            token_length=strlen(token);
-            if(print_fullpaths_buffersize < current_dir_length+token_length+2)
-            {
-                /* we really should avoid to get there more than once, so print a message to alert of the condition */
-                if(print_fullpaths_buffersize)
-                    fprintf(stderr, "resize fullpaths buffer %d -> %d\n", ((int)print_fullpaths_buffersize), ((int)(current_dir_length+token_length))+1024);
-                print_fullpaths_buffersize = current_dir_length+token_length+1024;
-                print_fullpaths_buffer = realloc(print_fullpaths_buffer, print_fullpaths_buffersize);
-            }
-            memcpy(print_fullpaths_buffer, current_dir, current_dir_length);
-            *(print_fullpaths_buffer+current_dir_length) = '/';
-            memcpy(print_fullpaths_buffer+current_dir_length+1, token, token_length+1);
-            print_nodotdot(print_fullpaths_buffer);
+            fputs(base_dir_var, stdout);
+            fputc('/', stdout);
+            print_nodotdot(token);
         }
         fputc(' ', stdout);
         token = strtok(NULL," ");
@@ -882,26 +866,6 @@ struct hash* dep_hash;
         fputs("Error: SRCDIR is missing in the environement\n", stderr);
         return 1;
     }
-    current_dir = getcwd(NULL, 0);
-    base_dir_length = strlen(base_dir);
-    current_dir_length = strlen(current_dir);
-    if(strncmp(base_dir, current_dir, base_dir_length) == 0)
-    {
-        if(current_dir_length == base_dir_length)
-        {
-            current_dir = base_dir_var;
-            current_dir_length = kBASE_DIR_VAR_LENGTH;
-        }
-        else
-        {
-            buffer = malloc(kBASE_DIR_VAR_LENGTH+current_dir_length-base_dir_length+1);
-            memcpy(buffer, base_dir_var, kBASE_DIR_VAR_LENGTH);
-            memcpy(buffer+kBASE_DIR_VAR_LENGTH, current_dir+base_dir_length, current_dir_length-base_dir_length+1);
-            free(current_dir);
-            current_dir=buffer;
-            current_dir_length=kBASE_DIR_VAR_LENGTH+current_dir_length-base_dir_length;
-        }
-    }
 
     in_list = file_load(argv[1], &in_list_size, &rc);
     if(!rc)
diff --git a/solenv/gbuild/platform/com_GCC_class.mk b/solenv/gbuild/platform/com_GCC_class.mk
index b098c99..18a389e 100644
--- a/solenv/gbuild/platform/com_GCC_class.mk
+++ b/solenv/gbuild/platform/com_GCC_class.mk
@@ -36,7 +36,7 @@ gb_AsmObject_get_source = $(1)/$(2).s
 define gb_AsmObject__command
 $(call gb_Output_announce,$(2),$(true),ASM,3)
 $(call gb_Helper_abbreviate_dirs,\
-	mkdir -p $(dir $(1)) $(dir $(4)) && \
+	mkdir -p $(dir $(1)) $(dir $(4)) && cd $(SRCDIR) && \
 	$(gb_CC) \
 		$(DEFS) \
 		$(if $(WARNINGS_NOT_ERRORS),,$(gb_CFLAGS_WERROR)) \
@@ -54,7 +54,7 @@ endef
 define gb_CObject__command
 $(call gb_Output_announce,$(2).c,$(true),C  ,3)
 $(call gb_Helper_abbreviate_dirs,\
-	mkdir -p $(dir $(1)) $(dir $(4)) && \
+	mkdir -p $(dir $(1)) $(dir $(4)) && cd $(SRCDIR) && \
 	$(gb_CC) \
 		$(DEFS) \
 		$(if $(filter Library,$(TARGETTYPE)),$(gb_Library_LTOFLAGS)) \
@@ -75,7 +75,7 @@ endef
 define gb_CxxObject__command
 $(call gb_Output_announce,$(2).cxx,$(true),CXX,3)
 $(call gb_Helper_abbreviate_dirs,\
-	mkdir -p $(dir $(1)) $(dir $(4)) && \
+	mkdir -p $(dir $(1)) $(dir $(4)) && cd $(SRCDIR) && \
 	$(gb_CXX) \
 		$(DEFS) \
 		$(if $(filter Library,$(TARGETTYPE)),$(gb_Library_LTOFLAGS)) \
@@ -92,7 +92,7 @@ endef
 
 define gb_SrsPartTarget__command_dep
 $(call gb_Helper_abbreviate_dirs,\
-	mkdir -p $(dir $(call gb_SrsPartTarget_get_dep_target,$(1))) && \
+	mkdir -p $(dir $(call gb_SrsPartTarget_get_dep_target,$(1))) && cd $(SRCDIR) && \
 	$(gb_GCCP) \
 		-MM -MT $(call gb_SrsPartTarget_get_target,$(1)) \
 		$(INCLUDE) \


More information about the Libreoffice-commits mailing list