Compare commits

...

6 Commits

Author SHA1 Message Date
Fredrik Holmqvist
7982f87b1e Only write "...patience..." every 5000th target instead of 1000th.
git-svn-id: file:///srv/svn/repos/haiku/buildtools/trunk@41295 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-01 12:09:05 +00:00
Fredrik Holmqvist
7a4d04f795 Disabled the "..skipped x for lack of y..." message as it is not very useful information and hides the interesting info in noise (why it failed).
It should probably be a command line option as it might be interesting in some cases.
Also added a "Build Failure" at the end if there were failed targets.


git-svn-id: file:///srv/svn/repos/haiku/buildtools/trunk@41294 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-01 11:34:52 +00:00
Oliver Tappe
e62f027fec circumvent strange problems during build of gprof ('no objective-c compiler found') caused by our current make version (3.82)
git-svn-id: file:///srv/svn/repos/haiku/buildtools/trunk@40648 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-23 22:31:44 +00:00
Jérôme Duval
a348441958 changes to match what got used by upstream in 4.5
git-svn-id: file:///srv/svn/repos/haiku/buildtools/trunk@40618 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-22 18:20:36 +00:00
Ingo Weinhold
8116a5d9ff Merged gcc4-weak-symbols branch.
git-svn-id: file:///srv/svn/repos/haiku/buildtools/trunk@39570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-11-22 13:03:49 +00:00
Ingo Weinhold
b4a0832035 Strip the executables of debug info.
git-svn-id: file:///srv/svn/repos/haiku/buildtools/trunk@39429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-11-14 14:58:28 +00:00
13 changed files with 41 additions and 54 deletions

View File

@@ -119,6 +119,13 @@ rm -rf "$installDir/info" "$installDir/man" "$installDir/share" \
"$installDir/lib/libstdc++.so"
# strip the executables of debug info (somewhat crude heuristics to identify
# actual executables: files >= 20 kiB with execute permission and not in a "lib"
# directory)
strip --strip-debug \
`find "$installDir" -type f -a -perm -u=x -a -size +20k | grep -v /lib/`
# add C++ header symlink
ln -s c++/$gccVersion $installDir/include/g++

View File

@@ -74,6 +74,6 @@
/* If ELF is the default format, we should not use /lib/elf. */
#undef LINK_SPEC
#define LINK_SPEC "%{!o*:-o %b} -m armelf -shared -no-undefined -Bsymbolic %{nostart:-e 0} \
%{mbig-endian:-EB} %{mlittle-endian:-EL} -X"
#define LINK_SPEC "%{!o*:-o %b} -m armelf -shared -no-undefined %{nostart:-e 0} \
%{mbig-endian:-EB} %{mlittle-endian:-EL} -X"

View File

@@ -40,12 +40,6 @@ Boston, MA 02111-1307, USA. */
builtin_define ("__stdcall=__attribute__((__stdcall__))"); \
builtin_define ("__cdecl=__attribute__((__cdecl__))"); \
builtin_assert ("system=haiku"); \
/* Haiku apparently doesn't support merging of symbols across shared \
object boundaries. Hence we need to explicitly specify that \
type_infos are not merged, so that they get compared by name \
instead of by pointer. */ \
builtin_define ("__GXX_MERGED_TYPEINFO_NAMES=0"); \
builtin_define ("__GXX_TYPEINFO_EQUALITY_INLINE=0"); \
} \
while (0)
@@ -57,7 +51,7 @@ Boston, MA 02111-1307, USA. */
/* If ELF is the default format, we should not use /lib/elf. */
#undef LINK_SPEC
#define LINK_SPEC "-m elf_i386_haiku -shared -Bsymbolic %{nostart:-e 0} %{shared:-e 0} %{!shared: %{!nostart: -no-undefined}}"
#define LINK_SPEC "-m elf_i386_haiku -shared %{nostart:-e 0} %{shared:-e 0} %{!shared: %{!nostart: -no-undefined}}"
/* A C statement (sans semicolon) to output to the stdio stream
FILE the assembler definition of uninitialized global DECL named

View File

@@ -27,9 +27,9 @@ Boston, MA 02111-1307, USA. */
#endif
/* The SVR4 ABI for the i386 says that records and unions are returned
* in memory.
* in memory.
*
* TODO: Linux64 doesn't use pcc_struct_return scheme. Does haiku?
* TODO: Linux64 doesn't use pcc_struct_return scheme. Does haiku?
* If not this could be removed.
*/
#undef DEFAULT_PCC_STRUCT_RETURN
@@ -48,12 +48,6 @@ Boston, MA 02111-1307, USA. */
builtin_define ("__stdcall=__attribute__((__stdcall__))"); \
builtin_define ("__cdecl=__attribute__((__cdecl__))"); \
builtin_assert ("system=haiku"); \
/* Haiku apparently doesn't support merging of symbols across shared \
object boundaries. Hence we need to explicitly specify that \
type_infos are not merged, so that they get compared by name \
instead of by pointer. */ \
builtin_define ("__GXX_MERGED_TYPEINFO_NAMES=0"); \
builtin_define ("__GXX_TYPEINFO_EQUALITY_INLINE=0"); \
} \
while (0)
#else
@@ -66,12 +60,6 @@ Boston, MA 02111-1307, USA. */
builtin_define ("__stdcall=__attribute__((__stdcall__))"); \
builtin_define ("__cdecl=__attribute__((__cdecl__))"); \
builtin_assert ("system=haiku"); \
/* Haiku apparently doesn't support merging of symbols across shared \
object boundaries. Hence we need to explicitly specify that \
type_infos are not merged, so that they get compared by name \
instead of by pointer. */ \
builtin_define ("__GXX_MERGED_TYPEINFO_NAMES=0"); \
builtin_define ("__GXX_TYPEINFO_EQUALITY_INLINE=0"); \
} \
while (0)
#endif
@@ -83,9 +71,9 @@ Boston, MA 02111-1307, USA. */
#undef LINK_SPEC
#if TARGET_64BIT
#define LINK_SPEC "-m elf_x86_64 -z max-page-size=0x1000 -shared -Bsymbolic %{nostart:-e 0} %{shared:-e 0} %{!shared: %{!nostart: -no-undefined}}"
#define LINK_SPEC "-m elf_x86_64 -z max-page-size=0x1000 -shared %{nostart:-e 0} %{shared:-e 0} %{!shared: %{!nostart: -no-undefined}}"
#else
#define LINK_SPEC "-m elf_i386_haiku -shared -Bsymbolic %{nostart:-e 0} %{shared:-e 0} %{!shared: %{!nostart: -no-undefined}}"
#define LINK_SPEC "-m elf_i386_haiku -shared %{nostart:-e 0} %{shared:-e 0} %{!shared: %{!nostart: -no-undefined}}"
#endif

View File

@@ -75,12 +75,6 @@ Boston, MA 02110-1301, USA. */
builtin_define ("__stdcall=__attribute__((__stdcall__))"); \
builtin_define ("__cdecl=__attribute__((__cdecl__))"); \
builtin_assert ("system=haiku"); \
/* Haiku apparently doesn't support merging of symbols across shared\
object boundaries. Hence we need to explicitly specify that \
type_infos are not merged, so that they get compared by name \
instead of by pointer. */ \
builtin_define ("__GXX_MERGED_TYPEINFO_NAMES=0"); \
builtin_define ("__GXX_TYPEINFO_EQUALITY_INLINE=0"); \
} \
while (0)
@@ -115,8 +109,8 @@ Boston, MA 02110-1301, USA. */
/* If ELF is the default format, we should not use /lib/elf. */
#undef LINK_SPEC
/*#define LINK_SPEC "%{!o*:-o %b} -m elf_m68k_haiku -shared -no-undefined -Bsymbolic %{nostart:-e 0}"*/
#define LINK_SPEC "%{!o*:-o %b} -m m68kelf -shared -no-undefined -Bsymbolic %{nostart:-e 0}"
/*#define LINK_SPEC "%{!o*:-o %b} -m elf_m68k_haiku -shared -no-undefined %{nostart:-e 0}"*/
#define LINK_SPEC "%{!o*:-o %b} -m m68kelf -shared -no-undefined %{nostart:-e 0}"
/* XXX: not sure for the rest there... */

View File

@@ -38,15 +38,9 @@ Boston, MA 02111-1307, USA. */
builtin_define ("__PIC__"); \
builtin_define ("__pic__"); \
} \
/* Haiku apparently doesn't support merging of symbols across shared \
object boundaries. Hence we need to explicitly specify that \
type_infos are not merged, so that they get compared by name \
instead of by pointer. */ \
builtin_define ("__GXX_MERGED_TYPEINFO_NAMES=0"); \
builtin_define ("__GXX_TYPEINFO_EQUALITY_INLINE=0"); \
} \
while (0)
#undef LINK_SPEC
#define LINK_SPEC "%{!o*:-o %b} -m elf_mipsel_haiku -shared -Bsymbolic %{nostart:-e 0}"
#define LINK_SPEC "%{!o*:-o %b} -m elf_mipsel_haiku -shared %{nostart:-e 0}"

View File

@@ -44,12 +44,6 @@ Boston, MA 02111-1307, USA. */
builtin_assert ("cpu=powerpc"); \
builtin_assert ("machine=powerpc"); \
TARGET_OS_SYSV_CPP_BUILTINS (); \
/* Haiku apparently doesn't support merging of symbols across shared \
object boundaries. Hence we need to explicitly specify that \
type_infos are not merged, so that they get compared by name \
instead of by pointer. */ \
builtin_define ("__GXX_MERGED_TYPEINFO_NAMES=0"); \
builtin_define ("__GXX_TYPEINFO_EQUALITY_INLINE=0"); \
} \
while (0)
@@ -61,4 +55,4 @@ Boston, MA 02111-1307, USA. */
/* If ELF is the default format, we should not use /lib/elf. */
#undef LINK_SPEC
#define LINK_SPEC "%{!o*:-o %b} -m elf_ppc_haiku -shared -no-undefined -Bsymbolic %{nostart:-e 0}"
#define LINK_SPEC "%{!o*:-o %b} -m elf_ppc_haiku -shared -no-undefined %{nostart:-e 0}"

View File

@@ -4522,7 +4522,7 @@ func_mode_link ()
-l*)
if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-*-haiku* | *-cegcc*)
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
# These systems don't actually have a C or math library (as such)
continue
;;
@@ -6476,7 +6476,7 @@ func_mode_link ()
if test "$build_libtool_libs" = yes; then
if test -n "$rpath"; then
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-*-haiku* | *-cegcc*)
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
# these systems don't actually have a c library (as such)!
;;
*-*-rhapsody* | *-*-darwin1.[012])

View File

@@ -154,3 +154,11 @@ adjusted more or less to work with 2.5rc3.
the communication overhead with the server, and that the server consumes
memory to store the cached data. The server's memory footprint is quite
reasonable, though.
* Disabled the "..skipped x for lack of y..." message
Disabled as it is not very useful information and hides the interesting
info in noise (why it failed). It should probably be a command line option
as it might be interesting in some cases. Also added a "Build Failure" at
the end if there were failed targets. (Fredrik Holmqvist)
* Only write "...patience..." every 5000th target instead of 1000th.
(Fredrik Holmqvist)

View File

@@ -461,7 +461,7 @@ make0(
if( t->flags & T_FLAG_INTERNAL )
return;
if( !( ++counts->targets % 1000 ) && DEBUG_MAKE )
if( !( ++counts->targets % 5000 ) && DEBUG_MAKE )
printf( "...patience...\n" );
if( fate == T_FATE_ISTMP )

View File

@@ -104,9 +104,11 @@ make1( TARGET *t )
/* Talk about it */
if( DEBUG_MAKE && counts->failed )
printf( "...failed updating %d target(s)...\n", counts->failed );
if( counts->failed ) {
printf("\nBUILD FAILURE:\n");
if( DEBUG_MAKE ) printf( "...failed updating %d target(s)...\n", counts->failed );
}
if( DEBUG_MAKE && counts->skipped )
printf( "...skipped %d target(s)...\n", counts->skipped );
@@ -201,7 +203,7 @@ make1b( TARGET *t )
if( t->status == EXEC_CMD_FAIL && t->actions )
{
++counts->skipped;
printf( "...skipped %s for lack of %s...\n", t->name, failed );
// printf( "...skipped %s for lack of %s...\n", t->name, failed );
}
if( t->status == EXEC_CMD_OK )

View File

@@ -39,6 +39,9 @@ EXTRA_DIST = $(BUILT_SOURCES) bbconv.pl $(man_MANS)
diststuff: $(BUILT_SOURCES) info $(man_MANS)
# hack against problems with newer make (at least with 3.82):
%.o:%.m
.m.c:
awk -f $(srcdir)/gen-c-prog.awk > ./$*.c \
FUNCTION=`(echo $*|sed -e 's,.*/,,g' -e 's/_bl//')`_blurb \

View File

@@ -799,6 +799,9 @@ uninstall-man: uninstall-man1
diststuff: $(BUILT_SOURCES) info $(man_MANS)
# hack against problems with newer make (at least with 3.82):
%.o:%.m
.m.c:
awk -f $(srcdir)/gen-c-prog.awk > ./$*.c \
FUNCTION=`(echo $*|sed -e 's,.*/,,g' -e 's/_bl//')`_blurb \