[Libreoffice-commits] .: 4 commits - solenv/bin
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Wed Nov 7 09:35:40 PST 2012
solenv/bin/concat-deps.c | 55 ++++++++++++++++++++++++++++-------------------
1 file changed, 33 insertions(+), 22 deletions(-)
New commits:
commit eed17d1f23bbefd5aae24cb7e75ecb37c8f28b4a
Author: Michael Stahl <mstahl at redhat.com>
Date: Wed Nov 7 18:11:37 2012 +0100
concat-deps: tweak boost handling to depend on unpacked target
Change-Id: Iae93f7a81959a5d9c23e9bddb65e6154655374e6
diff --git a/solenv/bin/concat-deps.c b/solenv/bin/concat-deps.c
index c6177ce..813c39d 100644
--- a/solenv/bin/concat-deps.c
+++ b/solenv/bin/concat-deps.c
@@ -113,7 +113,7 @@
int internal_boost = 0;
static char* base_dir;
-static char* out_dir;
+static char* work_dir;
#ifdef __GNUC__
#define clz __builtin_clz
@@ -785,13 +785,13 @@ elide_dependency(const char* key, int key_len,
}
/*
- * We collapse tens of internal boost headers to a single one, such
+ * We collapse tens of internal boost headers to the unpacked target, such
* that you can re-compile / install boost and all is well.
*/
static void emit_single_boost_header(void)
{
-#define BOOST_HEADER "/inc/external/boost/bind.hpp"
- fprintf(stdout, "%s" BOOST_HEADER " ", out_dir);
+#define BOOST_TARGET "/UnpackedTarball/boost.done"
+ fprintf(stdout, "%s" BOOST_TARGET " ", work_dir);
}
static void emit_unpacked_target(char const*const token, char const*const end)
@@ -1038,7 +1038,7 @@ const char *env_str;
_usage();
return 1;
}
- if(get_var(&base_dir, "SRCDIR") || get_var(&out_dir, "OUTDIR"))
+ if(get_var(&base_dir, "SRCDIR") || get_var(&work_dir, "WORKDIR"))
return 1;
env_str = getenv("SYSTEM_BOOST");
commit a8f357cffdf7242b86e3b0e276034069e1be13c2
Author: Michael Stahl <mstahl at redhat.com>
Date: Wed Nov 7 17:55:54 2012 +0100
concat-deps: on Windows, compare paths case-insensitively
Change-Id: I5e5d9b39cb0440644bf3ffb8dca4913dc123f672
diff --git a/solenv/bin/concat-deps.c b/solenv/bin/concat-deps.c
index 44d83f1..c6177ce 100644
--- a/solenv/bin/concat-deps.c
+++ b/solenv/bin/concat-deps.c
@@ -97,9 +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? */
#else /* not windaube */
#define FILE_O_RDONLY O_RDONLY
#define FILE_O_BINARY 0
+#define PATHNCMP strncmp
#endif /* not windaube */
#ifndef TRUE
@@ -730,7 +732,7 @@ elide_dependency(const char* key, int key_len,
#endif
/* .hdl files are always matched by .hpp */
- if (key_len > 4 && !strncmp(key + key_len - 4, ".hdl", 4))
+ if (key_len > 4 && !PATHNCMP(key + key_len - 4, ".hdl", 4))
return 1;
/* boost brings a plague of header files */
@@ -746,13 +748,13 @@ elide_dependency(const char* key, int key_len,
{
if (0 == boost)
{
- if (!strncmp(key + i + 1, "solver/", 7))
+ if (!PATHNCMP(key + i + 1, "solver/", 7))
{
boost++;
continue;
}
}
- else if (!strncmp(key + i + 1, "inc/external/boost/", 19))
+ else if (!PATHNCMP(key + i + 1, "inc/external/boost/", 19))
{
if (boost_count)
(*boost_count)++;
@@ -761,7 +763,7 @@ elide_dependency(const char* key, int key_len,
}
if (0 == unpacked)
{
- if (!strncmp(key + i + 1, "workdir/", 8))
+ if (!PATHNCMP(key + i + 1, "workdir/", 8))
{
unpacked = 1;
continue;
@@ -769,7 +771,7 @@ elide_dependency(const char* key, int key_len,
}
else
{
- if (!strncmp(key + i + 1, "UnpackedTarball/", 16))
+ if (!PATHNCMP(key + i + 1, "UnpackedTarball/", 16))
{
if (unpacked_end)
*unpacked_end = strchr(key + i + 17, '/');
commit eb94d42df886db5c1ff56e57ac5da5e012bdead3
Author: Michael Stahl <mstahl at redhat.com>
Date: Wed Nov 7 17:43:03 2012 +0100
concat-deps: bin pointless duplication
Change-Id: I8aedf930bc007bf83f8111db9a5565668142321e
diff --git a/solenv/bin/concat-deps.c b/solenv/bin/concat-deps.c
index ddbaf24..44d83f1 100644
--- a/solenv/bin/concat-deps.c
+++ b/solenv/bin/concat-deps.c
@@ -846,16 +846,9 @@ static inline void print_fullpaths(char* line)
end = token + 2;
}
}
- else if(*token == ':' || *token == '\\' || *token == '/' ||
- *token == '$' || ':' == token[1])
- {
- if(fwrite(token, token_len, 1, stdout) != 1)
- abort();
- fputc(' ', stdout);
- }
else
{
- if(fwrite(token, end - token, 1, stdout) != 1)
+ if (fwrite(token, token_len, 1, stdout) != 1)
abort();
fputc(' ', stdout);
}
commit c8a8f5e669973cbbc57fe1ed2f87548cd3313714
Author: Michael Stahl <mstahl at redhat.com>
Date: Wed Nov 7 17:38:30 2012 +0100
concat-deps: properly recognize colon that follows target
Should fix cases where for weirdly formatted input files the target was
mangled erroneously.
Change-Id: I28d94a6c714b5f893ac873f84fe2022e96cf1327
diff --git a/solenv/bin/concat-deps.c b/solenv/bin/concat-deps.c
index 843cad1..ddbaf24 100644
--- a/solenv/bin/concat-deps.c
+++ b/solenv/bin/concat-deps.c
@@ -809,18 +809,25 @@ static inline void print_fullpaths(char* line)
char* end;
int boost_count = 0;
const char * unpacked_end = 0; /* end of UnpackedTarget match (if any) */
- int first = 1; /* for UnpackedTarget the first (target) is GenCxxObject! */
+ /* for UnpackedTarget the target is GenC{,xx}Object, dont mangle! */
+ int target_seen = 0;
token = line;
eat_space(&token);
while (*token)
{
end = token;
- while (*end && (' ' != *end) && ('\t' != *end)) {
+ /* hard to believe that in this day and age drive letters still exist */
+ if (*end && (':' == *(end+1)) &&
+ (('\\' == *(end+2)) || ('/' == *(end+2))) && isalpha(*end))
+ {
+ end = end + 3; /* only one cross, err drive letter per filename */
+ }
+ while (*end && (' ' != *end) && ('\t' != *end) && (':' != *end)) {
++end;
}
int token_len = end - token;
- if (!first &&
+ if (target_seen &&
elide_dependency(token, token_len, &boost_count, &unpacked_end))
{
if (unpacked_end)
@@ -852,9 +859,18 @@ static inline void print_fullpaths(char* line)
abort();
fputc(' ', stdout);
}
- first = 0;
token = end;
eat_space(&token);
+ if (!target_seen)
+ {
+ if (':' == *token)
+ {
+ target_seen = 1;
+ fputc(':', stdout);
+ ++token;
+ eat_space(&token);
+ }
+ }
}
}
More information about the Libreoffice-commits
mailing list