1 |
robbat2 08/11/06 08:18:10 |
2 |
|
3 |
Added: bglibs-1.104-parallel-fix.patch |
4 |
Log: |
5 |
Version bump, bug #150173, includes parallel compile fixes for longstanding libtool-caused breakage. |
6 |
(Portage version: 2.2_rc13/cvs/Linux 2.6.28-rc2-07920-g65fc716 x86_64) |
7 |
|
8 |
Revision Changes Path |
9 |
1.1 dev-libs/bglibs/files/bglibs-1.104-parallel-fix.patch |
10 |
|
11 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-libs/bglibs/files/bglibs-1.104-parallel-fix.patch?rev=1.1&view=markup |
12 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-libs/bglibs/files/bglibs-1.104-parallel-fix.patch?rev=1.1&content-type=text/plain |
13 |
|
14 |
Index: bglibs-1.104-parallel-fix.patch |
15 |
=================================================================== |
16 |
Fixes for parallel compile. |
17 |
|
18 |
- Redirection straight to an output target that is later used for dependancies |
19 |
is not safe. The output file must be come into existence atomically. |
20 |
- libtool-2.x writes to .o AND .lo, regardless of the -o parameter. Because of |
21 |
this, if you get a run order of compile then libcompile and makelib |
22 |
simultaneously, there is a chance that the .o file from the original compile |
23 |
can vanish and cause the makelib to fail. To deal with this, we split the |
24 |
libraries target into shared and non-shared, and deliberately call the build |
25 |
process as 3 phases: libs-shared, libs-static, all |
26 |
|
27 |
Signed-off-by: Robin H. Johnson <robbat2@g.o> |
28 |
|
29 |
--- bglibs-1.104/Makefile.orig 2008-04-09 08:24:31.000000000 -0700 |
30 |
+++ bglibs-1.104/Makefile 2008-11-05 19:05:16.304710791 -0800 |
31 |
@@ -254,7 +254,8 @@ |
32 |
./compile crc-gentab.c |
33 |
|
34 |
crc/crc16_arc_table.c: crc-gentab |
35 |
- ./crc-gentab crc16_arc 16 0x8005 reflected >$@ |
36 |
+ ./crc-gentab crc16_arc 16 0x8005 reflected >$@.tmp |
37 |
+ mv $@.tmp $@ |
38 |
|
39 |
crc/crc16_arc_table.lo: libcompile crc/crc16_arc_table.c |
40 |
./libcompile crc/crc16_arc_table.c |
41 |
@@ -263,7 +264,8 @@ |
42 |
./compile crc/crc16_arc_table.c |
43 |
|
44 |
crc/crc16_ccitt_table.c: crc-gentab |
45 |
- ./crc-gentab crc16_ccitt 16 0x1021 normal >$@ |
46 |
+ ./crc-gentab crc16_ccitt 16 0x1021 normal >$@.tmp |
47 |
+ mv $@.tmp $@ |
48 |
|
49 |
crc/crc16_ccitt_table.lo: libcompile crc/crc16_ccitt_table.c |
50 |
./libcompile crc/crc16_ccitt_table.c |
51 |
@@ -272,7 +274,8 @@ |
52 |
./compile crc/crc16_ccitt_table.c |
53 |
|
54 |
crc/crc16_xmodem_table.c: crc-gentab |
55 |
- ./crc-gentab crc16_xmodem 16 0x8408 reflected >$@ |
56 |
+ ./crc-gentab crc16_xmodem 16 0x8408 reflected >$@.tmp |
57 |
+ mv $@.tmp $@ |
58 |
|
59 |
crc/crc16_xmodem_table.lo: libcompile crc/crc16_xmodem_table.c |
60 |
./libcompile crc/crc16_xmodem_table.c |
61 |
@@ -281,7 +284,8 @@ |
62 |
./compile crc/crc16_xmodem_table.c |
63 |
|
64 |
crc/crc32_table.c: crc-gentab |
65 |
- ./crc-gentab crc32 32 0x04C11DB7 reflected >$@ |
66 |
+ ./crc-gentab crc32 32 0x04C11DB7 reflected >$@.tmp |
67 |
+ mv $@.tmp $@ |
68 |
|
69 |
crc/crc32_table.lo: libcompile crc/crc32_table.c |
70 |
./libcompile crc/crc32_table.c |
71 |
@@ -290,7 +294,8 @@ |
72 |
./compile crc/crc32_table.c |
73 |
|
74 |
crc/crc32c_table.c: crc-gentab |
75 |
- ./crc-gentab crc32c 32 0x1EDC6F41 reflected >$@ |
76 |
+ ./crc-gentab crc32c 32 0x1EDC6F41 reflected >$@.tmp |
77 |
+ mv $@.tmp $@ |
78 |
|
79 |
crc/crc32c_table.lo: libcompile crc/crc32c_table.c |
80 |
./libcompile crc/crc32c_table.c |
81 |
@@ -299,7 +304,8 @@ |
82 |
./compile crc/crc32c_table.c |
83 |
|
84 |
crc/crc64_table.c: crc-gentab |
85 |
- ./crc-gentab crc64 64 0x42F0E1EBA9EA3693 normal >$@ |
86 |
+ ./crc-gentab crc64 64 0x42F0E1EBA9EA3693 normal >$@.tmp |
87 |
+ mv $@.tmp $@ |
88 |
|
89 |
crc/crc64_table.lo: libcompile crc/crc64_table.c |
90 |
./libcompile crc/crc64_table.c |
91 |
@@ -1025,7 +1025,10 @@ |
92 |
libpwcmp.a: makelib pwcmp/client.o pwcmp/hex_encode.o |
93 |
./makelib libpwcmp.a pwcmp/client.o pwcmp/hex_encode.o |
94 |
|
95 |
-libraries: libbg.la libbg-sysdeps.la libbg-crc.a libpwcmp.a libbg-path.a libbg-instcheck.a libbg-base64.a libbg-adt.a libbg-installer.a libvmailmgr.a libbg-sysdeps.a libbg-str.a libbg-fmt.a libpwcmp-module.a libbg-misc.a libbg-instshow.a libbg-dict.a libbg-crypto.a libbg-cli.a libbg-cdb.a libbg-msg.a libbg-iobuf.a libbg-net.a libbg-unix.a |
96 |
+LIBS = libbg.la libbg-sysdeps.la libbg-crc.a libpwcmp.a libbg-path.a libbg-instcheck.a libbg-base64.a libbg-adt.a libbg-installer.a libvmailmgr.a libbg-sysdeps.a libbg-str.a libbg-fmt.a libpwcmp-module.a libbg-misc.a libbg-instshow.a libbg-dict.a libbg-crypto.a libbg-cli.a libbg-cdb.a libbg-msg.a libbg-iobuf.a libbg-net.a libbg-unix.a |
97 |
+libs-shared: $(filter %.la,$(LIBS)) |
98 |
+libs-static: $(filter %.a,$(LIBS)) |
99 |
+libraries: libs-shared libs-static |
100 |
|
101 |
libvmailmgr.a: makelib vmailmgr/req_arg.o vmailmgr/req_init.o vmailmgr/req_write.o vmailmgr/resp_read.o vmailmgr/vpwentry_export.o vmailmgr/vpwentry_free.o vmailmgr/vpwentry_import.o |
102 |
./makelib libvmailmgr.a vmailmgr/req_arg.o vmailmgr/req_init.o vmailmgr/req_write.o vmailmgr/resp_read.o vmailmgr/vpwentry_export.o vmailmgr/vpwentry_free.o vmailmgr/vpwentry_import.o |