some small changes to astxs utility
authorAnthony Minessale II <anthmct@yahoo.com>
Wed, 25 Aug 2004 02:41:38 +0000 (02:41 +0000)
committerAnthony Minessale II <anthmct@yahoo.com>
Wed, 25 Aug 2004 02:41:38 +0000 (02:41 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3651 65c4cc65-6c06-0410-ace0-fbb531ad65f3

contrib/scripts/astxs

index 36cdad3..42c143e 100755 (executable)
@@ -117,19 +117,31 @@ if($cfile =~ /http:\/\/.*?\/([^\/]+)$/) {
 
 
 if($cfile) {
-  ($base,$ext) = $cfile =~ /^([^\.]+)\.(.)/;
+  ($base,$ext) = $cfile =~ /^([^\.]+)\.(.+)/;
 }
 
-if($ext ne "c") {
+if($ext eq "so") {
+  unless($args{linkonly}) {
+    $args{installonly}++;
+  }
+} elsif($ext ne "c") {
   usage "Bad Input File";
 }
 
+
 my $bad=0;
 
-$bad = esystem("$vars{CC} $vars{CFLAGS} -c ${base}.c -o ${base}.o");
-$bad = esystem("$vars{CC} $vars{SOLINK} -o $vars{LDFLAGS} ${base}.so $base.o $vars{EXTOBJ}") if(!$bad);
+$bad = esystem("$vars{CC} $vars{CFLAGS} -c ${base}.c -o ${base}.o") unless($args{linkonly} or $args{installonly});
+exit -1 if($bad);
+exit if($args{nolink});
+
+
+
+$vars{MAINOBJ} ||= $base.o;
+$bad = esystem("$vars{CC} $vars{SOLINK} -o $vars{LDFLAGS} ${base}.so $vars{MAINOBJ} $vars{EXTOBJ}") if(!$bad and !$args{installonly});
+exit -1 if($bad);
 
-if($args{install} and $vars{MODULES_DIR}) {
+if(($args{install} or $args{installonly}) and $vars{MODULES_DIR}) {
   my $file = "${base}.so";
   my ($mod) = $file =~ /([^\/]*)$/;