blob: 8d9203e33953261339626de44e281ac8e30255fe [file] [log] [blame]
handles the libexecdir for as and other fixes
--- cctools-698/as/driver.c
+++ cctools-698/as/driver.c
@@ -27,6 +27,9 @@
char **envp)
{
const char *LIB =
+#ifdef ASLIBEXECDIR
+ ASLIBEXECDIR;
+#else
#if defined(__OPENSTEP__) || defined(__HERA__) || \
defined(__GONZO_BUNSEN_BEAKER__) || defined(__KODIAK__)
"/usr/libexec/";
@@ -40,6 +42,7 @@
#else
"/usr/local/libexec/gcc/darwin/";
#endif
+#endif
const char *AS = "/as";
int i;
@@ -170,7 +170,11 @@
}
}
+#ifndef ASLIBEXECDIR
as = makestr(prefix, LIB, arch_name, AS, NULL);
+#else
+ as = makestr(LIB, arch_name, AS, NULL);
+#endif
/*
* If this assembler exist try to run it else print an error message.
@@ -182,6 +182,9 @@
else
exit(1);
}
+#ifdef ASLIBEXECDIR
+ as_local = "";
+#else
as_local = makestr(prefix, LOCALLIB, arch_name, AS, NULL);
if(access(as_local, F_OK) == 0){
argv[0] = as_local;
@@ -193,6 +198,8 @@
exit(1);
}
else{
+#endif
+ {
printf("%s: assembler (%s or %s) for architecture %s not "
"installed\n", progname, as, as_local, arch_name);
arch_flags = get_arch_flags();
@@ -183,6 +190,7 @@
printf("%s for architecture %s\n", as, arch_flags[i].name);
count++;
}
+#ifndef ASLIBEXECDIR
else{
as_local = makestr(LOCALLIB, arch_flags[i].name, AS, NULL);
if(access(as_local, F_OK) == 0){
@@ -193,6 +201,7 @@
count++;
}
}
+#endif
}
if(count == 0)
printf("%s: no assemblers installed\n", progname);