]>
Commit | Line | Data |
---|---|---|
c6093d98 AM |
1 | diff -urN rpm.org/build/parseSpec.c rpm/build/parseSpec.c |
2 | --- rpm.org/build/parseSpec.c 2004-06-14 14:52:54.433793272 +0200 | |
3 | +++ rpm/build/parseSpec.c 2004-06-14 14:55:21.399451096 +0200 | |
4 | @@ -227,6 +227,15 @@ | |
012a8819 | 5 | return 0; |
e1e03444 AM |
6 | } |
7 | /*@=boundswrite@*/ | |
e1e03444 AM |
8 | +static const char *getAlternateArch(const char *arch) |
9 | +{ | |
10 | + const char *alternate_arch = NULL; | |
11 | + if (! strncmp("x86_64", arch, sizeof("x86_64")-1)) | |
12 | + alternate_arch = "amd64"; | |
13 | + else if (! strncmp("amd64", arch, sizeof("amd64")-1)) | |
14 | + alternate_arch = "x86_64"; | |
15 | + return alternate_arch; | |
16 | +} | |
012a8819 | 17 | |
e1e03444 AM |
18 | /*@-boundswrite@*/ |
19 | int readLine(Spec spec, int strip) | |
c6093d98 | 20 | @@ -319,13 +328,15 @@ |
e1e03444 AM |
21 | match = 0; |
22 | } else if (! strncmp("%ifarch", s, sizeof("%ifarch")-1)) { | |
23 | const char *arch = rpmExpand("%{_target_cpu}", NULL); | |
24 | + const char *alternate_arch = getAlternateArch(arch); | |
25 | s += 7; | |
26 | - match = matchTok(arch, s); | |
27 | + match = matchTok(arch, s) || (alternate_arch && matchTok(alternate_arch, s)); | |
28 | arch = _free(arch); | |
29 | } else if (! strncmp("%ifnarch", s, sizeof("%ifnarch")-1)) { | |
30 | const char *arch = rpmExpand("%{_target_cpu}", NULL); | |
31 | + const char *alternate_arch = getAlternateArch(arch); | |
32 | s += 8; | |
33 | - match = !matchTok(arch, s); | |
34 | + match = !matchTok(arch, s) && (!alternate_arch || !matchTok(alternate_arch, s)); | |
35 | arch = _free(arch); | |
36 | } else if (! strncmp("%ifos", s, sizeof("%ifos")-1)) { | |
37 | const char *os = rpmExpand("%{_target_os}", NULL); | |
c6093d98 AM |
38 | diff -urN rpm.org/installplatform rpm/installplatform |
39 | --- rpm.org/installplatform 2004-06-14 14:53:29.722428584 +0200 | |
40 | +++ rpm/installplatform 2004-06-14 14:57:50.898723752 +0200 | |
41 | @@ -66,7 +66,7 @@ | |
e1e03444 AM |
42 | ppc-linux) MULTILIBNO=1 ;; |
43 | ppc64-linux) LIB=lib64; MULTILIBNO=2 ;; | |
c6093d98 | 44 | i?86-linux|pentium?-linux|athlon-linux) MULTILIBNO=1 ;; |
e1e03444 | 45 | - x86_64-linux) LIB=lib64; MULTILIBNO=2 ;; |
c6093d98 | 46 | + x86_64-linux|amd64-linux|ia32e-linux) LIB=lib64; MULTILIBNO=2 ;; |
e1e03444 AM |
47 | esac |
48 | ||
49 | if [ -n "$MULTILIBNO" ]; then | |
c6093d98 AM |
50 | diff -urN rpm.org/lib/rpmrc.c rpm/lib/rpmrc.c |
51 | --- rpm.org/lib/rpmrc.c 2004-06-14 14:53:19.117040848 +0200 | |
52 | +++ rpm/lib/rpmrc.c 2004-06-14 14:55:21.421447752 +0200 | |
53 | @@ -1319,6 +1319,13 @@ | |
e1e03444 AM |
54 | } |
55 | # endif | |
56 | ||
012a8819 AM |
57 | +# if defined(__linux__) && defined(__amd64__) |
58 | + { | |
e1e03444 | 59 | + /* Defaults to amd64 if compiler supports __amd64__ */ |
012a8819 AM |
60 | + strcpy(un.machine, "amd64"); |
61 | + } | |
62 | +# endif | |
63 | + | |
e1e03444 AM |
64 | # if defined(__linux__) && defined(__powerpc__) |
65 | { | |
66 | unsigned pvr = 0; | |
c6093d98 AM |
67 | diff -urN rpm.org/rpmrc.in rpm/rpmrc.in |
68 | --- rpm.org/rpmrc.in 2004-06-14 14:53:29.723428432 +0200 | |
69 | +++ rpm/rpmrc.in 2004-06-14 14:58:38.156539472 +0200 | |
70 | @@ -272,9 +272,9 @@ | |
e1e03444 AM |
71 | |
72 | buildarchtranslate: ia64: ia64 | |
73 | ||
74 | -buildarchtranslate: x86_64: x86_64 | |
012a8819 | 75 | -buildarchtranslate: amd64: x86_64 |
c6093d98 | 76 | -buildarchtranslate: ia32e: x86_64 |
e1e03444 | 77 | +buildarchtranslate: x86_64: amd64 |
012a8819 | 78 | +buildarchtranslate: amd64: amd64 |
c6093d98 | 79 | +buildarchtranslate: ia32e: amd64 |
e1e03444 AM |
80 | |
81 | ############################################################# | |
82 | # Architecture compatibility | |
3a4fdf2a AM |
83 | diff -urN rpm.org/configure.ac rpm/configure.ac |
84 | --- rpm.org/configure.ac 2004-07-02 23:11:17.214544320 +0200 | |
85 | +++ rpm/configure.ac 2004-07-02 23:11:43.369568152 +0200 | |
86 | @@ -1110,7 +1110,7 @@ | |
87 | *86) RPMCANONCOLOR=0; RPMCANONARCH=i386 ;; | |
88 | ia32e*) RPMCANONCOLOR=3; RPMCANONARCH=ia32e ;; | |
89 | amd64*) RPMCANONCOLOR=3; RPMCANONARCH=amd64 ;; | |
90 | -x86_64*) RPMCANONCOLOR=3; RPMCANONARCH=x86_64 ;; | |
91 | +x86_64*) RPMCANONCOLOR=3; RPMCANONARCH=amd64 ;; | |
92 | alpha*) RPMCANONCOLOR=0; RPMCANONARCH=alpha ;; | |
93 | sparc64*) RPMCANONCOLOR=3; RPMCANONARCH=sparc64 ;; | |
94 | sparc*) RPMCANONCOLOR=3; RPMCANONARCH=sparc ;; |