]> err.no Git - dpkg/commitdiff
dpkg --print-architecture now does gcc -dumpmachine instead of
authorAdam Heath <doogie@debian.org>
Sat, 13 Sep 2003 20:21:22 +0000 (20:21 +0000)
committerAdam Heath <doogie@debian.org>
Sat, 13 Sep 2003 20:21:22 +0000 (20:21 +0000)
--print-libgcc-file-name.

ChangeLog
debian/changelog
main/enquiry.c
scripts/dpkg-architecture.pl

index f3649c5dd73edfaf4eee085e8f8ae14f50dbe370..1cb6787d704db5504affb536c6ae72055e69417a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sat Sep 13 15:20:56 CDT 2003 Adam Heath <doogie@debian.org>
+
+  * lib/enquiry.c, scripts/dpkg-architecture.pl: dpkg --print-architecture
+    now does gcc -dumpmachine instead of --print-libgcc-file-name.
+
 Sat Sep 13 14:38:55 CDT 2003 Adam Heath <doogie@debian.org>
 
   * debian/dpkg-doc.postinst: Add set -e.
index 7af5a10d578d65f7240fce2684683bede19c39db..1defef5dda22191fec81d91bd3ddd90de2f4c8bc 100644 (file)
@@ -17,6 +17,9 @@ dpkg (1.10.11) unstable; urgency=low
     field name.  Closes: #198218
   * Yann Dirson <dirson@debian.org>
     Add set -e to dpkg-doc.postinst.  Closes: #191261
+  * Michael Weber <michaelw@debian.org>:
+    dpkg --print-architecture now does gcc -dumpmachine instead of
+    --print-libgcc-file-name.  Closes: #131893, #8241, #106793
 
  -- Wichert Akkerman <debian@extern.wiggy.net>  UNRELEASED
 
index 9036bd32e113328d309b6918d24580d1f4e62d35..c10604955ac20592373e43ec1256e12c5ea05e74 100644 (file)
@@ -413,7 +413,7 @@ void printarch(const char *const *argv) {
   ccpipe= fdopen(p1[0],"r"); if (!ccpipe) ohshite(_("failed to fdopen CC pipe"));
   if (!(c1= m_fork())) {
     m_dup2(p1[1],1); close(p1[0]); close(p1[1]);
-    execlp(ccompiler,ccompiler,"--print-libgcc-file-name",(char*)0);
+    execlp(ccompiler,ccompiler,"-dumpmachine",(char*)0);
     /* if we have a problem excuting the C compiler, we don't
      * want to fail. If there is a problem with the compiler,
      * like not being installed, or CC being set incorrectly,
@@ -422,23 +422,20 @@ void printarch(const char *const *argv) {
      * are being called, then we should just give them the built
      * in arch.
      */
-    if (printf("/usr/lib/gcc-lib/%s-none/0.0.0/libgcc.a\n",architecture) == EOF)
+    if (printf("%s\n",architecture) == EOF)
       werr("stdout");
     if (fflush(stdout)) werr("stdout");
     exit(0);
   }
   close(p1[1]);
   fd_vbuf_copy(fileno(ccpipe), &vb, -1, _("error reading from CC pipe"));
-  waitsubproc(c1,"gcc --print-libgcc-file-name",0);
+  waitsubproc(c1,"gcc -dumpmachine",0);
   if (!vb.used) badlgccfn(ccompiler,"",_("empty output"));
   varbufaddc(&vb,0);
   if (vb.buf[vb.used-2] != '\n') badlgccfn(ccompiler,vb.buf,_("no newline"));
   vb.used-= 2; varbufaddc(&vb,0);
-  p= strstr(vb.buf,"/gcc-lib/");
-  if (!p) badlgccfn(ccompiler,vb.buf,_("no gcc-lib component"));
-  p+= 9;
-  q= strchr(p,'/'); if (!q) badlgccfn(ccompiler,vb.buf,_("no slash after gcc-lib"));
-  ll= q-p;
+  p=vb.buf;
+  ll= strlen (p);
   for (archp=archtable;
        archp->from && strncmp(archp->from,p,ll);
        archp++);
index 4f48e7a81aeecb33cc009d7929d6cf48d0620d1c..0e478fb09e2fd8f187e9e90288c6514dfa0f0e12 100755 (executable)
@@ -129,18 +129,12 @@ $deb_build_gnu_cpu = $deb_build_gnu_triple[0];
 $deb_build_gnu_system = $deb_build_gnu_triple[1];
 
 # Default host: Current gcc.
-$gcc = `\${CC:-gcc} --print-libgcc-file-name`;
+$gcc = `\${CC:-gcc} -dumpmachine`;
 if ($?>>8) {
     &warn("Couldn't determine gcc system type, falling back to default (native compilation)");
     $gcc = '';
 } else {
-    $gcc =~ s!^.*gcc-lib/([^/]*)/(?:egcs-)?\d+(?:[.\da-z]*)/(|.*/)libgcc.*$!$1!s;
-    if (defined $1 and $1 ne '') {
-       $gcc = $1;
-    } else {
-       &warn("Couldn't determine gcc system type, falling back to default (native compilation)");
-       $gcc = '';
-    }
+    chomp $gcc;
 }
 
 if ($gcc ne '') {