summaryrefslogtreecommitdiff
path: root/make/unit-cc.pl
diff options
context:
space:
mode:
authordanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-09-01 15:04:40 +0000
committerdanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-09-01 15:04:40 +0000
commit990e04bab51bf1c3771938b8f598272c1b31cdca (patch)
tree8b077d8d3326feeb6736f5eb1fa719103a8822d5 /make/unit-cc.pl
parent8f8e244f4f350a53a2a84296a66468b7e5ac4a2b (diff)
Move dependency tracking from ./configure to Makefile
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11556 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'make/unit-cc.pl')
-rwxr-xr-xmake/unit-cc.pl31
1 files changed, 31 insertions, 0 deletions
diff --git a/make/unit-cc.pl b/make/unit-cc.pl
new file mode 100755
index 000000000..5110037ac
--- /dev/null
+++ b/make/unit-cc.pl
@@ -0,0 +1,31 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+BEGIN { push @INC, '..'; }
+use make::configure;
+
+my $file = shift;
+my $verbose;
+
+if ($file =~ /^-/) {
+ $_ = $file;
+ $file = shift;
+ $verbose = /v/;
+}
+
+my $out = shift;
+
+my $cflags = nopedantic($file) ? $ENV{NICEFLAGS} : $ENV{FLAGS};
+$cflags .= ' ' . getcompilerflags($file);
+
+my $flags;
+if ($out =~ /\.so$/) {
+ $flags = join ' ', $cflags, $ENV{PICLDFLAGS}, getlinkerflags($file);
+} else {
+ $flags = "$cflags -c";
+}
+
+my $execstr = "$ENV{RUNCC} $flags -o $out $file";
+print "$execstr\n" if $verbose;
+exec $execstr;
+exit 1;