Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Create absolute path names in .gcno files.
[simgrid.git] / tools / smpi / generate_smpi_defines.pl
index 1306f45..9ce1922 100755 (executable)
@@ -1,6 +1,13 @@
-#!/usr/bin/perl
+#!/usr/bin/env perl
+#
+# Copyright (c) 2016-2022. The SimGrid Team. All rights reserved.
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the license (GNU LGPL) which comes with this package.
+#
 # Copyright 2016 Vincent Danjean <vincent.danjean@inria.fr>
-# 
+#                Christian Heinrich <franz-christian.heinrich@inria.fr>
+#
 # Call this script like this:
 # C/C++  : ./generate_smpi_defines.pl ../../include/smpi/smpi.h
 # FORTRAN: ./generate_smpi_defines.pl -f ../../include/smpi/smpi.h
@@ -11,7 +18,7 @@
 # with MPI+TAU).
 use strict;
 use warnings;
-use Getopt::Std; 
+use Getopt::Std;
 
 my %options=();
 getopts("fc", \%options);
@@ -24,9 +31,15 @@ if (defined $options{f}) {
   $commentChar="!"
 }
 
+print "$commentChar Copyright (c) 2016-2022. The SimGrid Team. All rights reserved.\n";
+print "\n";
+print "$commentChar This program is free software; you can redistribute it and/or modify it\n";
+print "$commentChar under the terms of the license (GNU LGPL) which comes with this package.\n";
+print "\n";
 print "$commentChar This file has been automatically generated by the script\n";
-print "$commentChar in tools/smpi/" . __FILE__ ."\n";
+print "$commentChar in tools/smpi/generate_smpi_defines.pl\n";
 print "$commentChar DO NOT EDIT MANUALLY. ALL CHANGES WILL BE OVERWRITTEN!\n";
+print "\n";
 
 # Formatting of the output
 sub output_macro {
@@ -37,15 +50,11 @@ sub output_macro {
   # This is a GCC extension. The last statement is the value of the expression
   # in parentheses.
   if (defined $options{f}) {
-    print "#define ". uc($id) ." smpi_trace_set_call_location(__FILE__,__LINE__); call ". lc $id ."\n";
+    print "#define ". lc($id) ." smpi_trace_set_call_location(__FILE__,__LINE__); call ". ucfirst $id ."\n";
+    print "#define ". uc($id) ." smpi_trace_set_call_location(__FILE__,__LINE__); call ". ucfirst $id ."\n";
   }
   else {
-    if ($id eq "MPI_Init") {
-      print "#define MPI_Init(...) ({ smpi_process_init(__VA_ARGS__); smpi_trace_set_call_location(__FILE__,__LINE__); MPI_Init(NULL, NULL); })\n";
-    }
-    else {
-      print "#define $id(...) ({ smpi_trace_set_call_location(__FILE__,__LINE__); $id(__VA_ARGS__); })\n";
-    }
+    print "#define $id(...) (smpi_trace_set_call_location(__FILE__, __LINE__), $id(__VA_ARGS__))\n";
   }
 }
 
@@ -59,7 +68,7 @@ while (defined($line = <>)) {
     }
     $incall=1;
     $wholemacro = $line;
-  } elsif ($incall && $line =~ /^\s+\S/) { 
+  } elsif ($incall && $line =~ /^\s+\S/) {
     # Did we already start parsing an MPI_CALL macro? If so, just concatenate
     $wholemacro .= ' '.$line;
   } elsif ($incall) {