]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - make/unit-cc.pl
Update copyright headers.
[user/henk/code/inspircd.git] / make / unit-cc.pl
index 1cf6cf86601f2cd0d1b34001d4f7f07148c7d94a..f4fa5a650a6fddfc513fe8348d6c679062d5da45 100755 (executable)
@@ -1,8 +1,11 @@
 #!/usr/bin/env perl
-
 #
 # InspIRCd -- Internet Relay Chat Daemon
 #
+#   Copyright (C) 2019 iwalkalone <iwalkalone69@gmail.com>
+#   Copyright (C) 2014 Attila Molnar <attilamolnar@hush.com>
+#   Copyright (C) 2013, 2015-2016, 2018, 2021 Sadie Powell <sadie@witchery.services>
+#   Copyright (C) 2012 Robby <robby@chatbelgie.be>
 #   Copyright (C) 2009-2010 Daniel De Graaf <danieldg@inspircd.org>
 #
 # This file is part of InspIRCd.  InspIRCd is free software: you can
 #
 
 
-BEGIN {
-       push @INC, $ENV{SOURCEPATH};
-       require 5.10.0;
-}
-
+use v5.10.0;
 use strict;
 use warnings FATAL => qw(all);
 
+use File::Basename        qw(dirname);
 use File::Spec::Functions qw(abs2rel);
+use FindBin               qw($RealDir);
 
+use lib dirname $RealDir;
 use make::console;
 use make::directive;
 
@@ -37,11 +39,7 @@ chdir $ENV{BUILDPATH};
 my $type = shift;
 my $out = shift;
 
-if ($type eq 'gen-ld') {
-       do_static_find(@ARGV);
-} elsif ($type eq 'static-ld') {
-       do_static_link(@ARGV);
-} elsif ($type eq 'core-ld') {
+if ($type eq 'core-ld') {
        do_core_link(@ARGV);
 } elsif ($type eq 'link-dir') {
        do_link_dir(@ARGV);
@@ -59,9 +57,9 @@ exit 1;
 sub message($$$) {
        my ($type, $file, $command) = @_;
        if ($ENV{INSPIRCD_VERBOSE}) {
-               print "$command\n";
+               say $command;
        } else {
-               print_format "\t<|GREEN $type:|>\t\t$file\n";
+               say console_format "\t<|GREEN $type:|>\t\t$file";
        }
 }
 
@@ -71,36 +69,6 @@ sub rpath($) {
        return $message;
 }
 
-sub do_static_find {
-       my @flags;
-       for my $file (@ARGV) {
-               push @flags, rpath(get_directive($file, 'LinkerFlags', ''));
-       }
-       open F, '>', $out;
-       print F join ' ', @flags;
-       close F;
-       exit 0;
-}
-
-sub do_static_link {
-       my $execstr = "$ENV{CXX} -o $out $ENV{CORELDFLAGS}";
-       my $link_flags = '';
-       for (@ARGV) {
-               if (/\.cmd$/) {
-                       open F, '<', $_;
-                       my $libs = <F>;
-                       chomp $libs;
-                       $link_flags .= ' '.$libs;
-                       close F;
-               } else {
-                       $execstr .= ' '.$_;
-               }
-       }
-       $execstr .= ' '.$ENV{LDLIBS}.' '.$link_flags;
-       message 'LINK', $out, $execstr;
-       exec $execstr;
-}
-
 sub do_core_link {
        my $execstr = "$ENV{CXX} -o $out $ENV{CORELDFLAGS} @_ $ENV{LDLIBS}";
        message 'LINK', $out, $execstr;
@@ -112,7 +80,7 @@ sub do_link_dir {
        for my $file (<$dir/*.cpp>) {
                $link_flags .= rpath(get_directive($file, 'LinkerFlags', '')) . ' ';
        }
-       my $execstr = "$ENV{CXX} -o $out $ENV{PICLDFLAGS} $link_flags @_";
+       my $execstr = "$ENV{CXX} -o $out $ENV{PICLDFLAGS} @_ $link_flags";
        message 'LINK', $out, $execstr;
        exec $execstr;
 }