Don't set pointer if add_lock_callback used.
[oweals/openssl.git] / crypto / perlasm / x86asm.pl
index c81910851a34716fa2fbb195b8d79d1131dbc1a4..81c6e64e871a7593ec646fa1f8cc1378ee751dbe 100644 (file)
@@ -18,17 +18,21 @@ sub main'asm_init
        ($type,$fn,$i386)=@_;
        $filename=$fn;
 
-       $cpp=$sol=$aout=$win32=0;
+       $cpp=$sol=$aout=$win32=$gaswin=0;
        if (    ($type eq "elf"))
                { require "x86unix.pl"; }
        elsif ( ($type eq "a.out"))
                { $aout=1; require "x86unix.pl"; }
+       elsif ( ($type eq "gaswin"))
+               { $gaswin=1; $aout=1; require "x86unix.pl"; }
        elsif ( ($type eq "sol"))
                { $sol=1; require "x86unix.pl"; }
        elsif ( ($type eq "cpp"))
                { $cpp=1; require "x86unix.pl"; }
        elsif ( ($type eq "win32"))
                { $win32=1; require "x86ms.pl"; }
+       elsif ( ($type eq "win32n"))
+               { $win32=1; require "x86nasm.pl"; }
        else
                {
                print STDERR <<"EOF";
@@ -38,6 +42,7 @@ Pick one target type from
        sol     - x86 solaris
        cpp     - format so x86unix.cpp can be used
        win32   - Windows 95/Windows NT
+       win32n  - Windows 95/Windows NT NASM format
 EOF
                exit(1);
                }
@@ -47,7 +52,7 @@ EOF
 &comment("Don't even think of reading this code");
 &comment("It was automatically generated by $filename");
 &comment("Which is a perl program used to generate the x86 assember for");
-&comment("any of elf, a.out, BSDI,Win32, or Solaris");
+&comment("any of elf, a.out, BSDI, Win32, gaswin (for GNU as on Win32) or Solaris");
 &comment("eric <eay\@cryptsoft.com>");
 &comment("");
 
@@ -75,7 +80,7 @@ sub asm_finish_cpp
 #define TYPE(a,b)       .type   a,b
 #define SIZE(a,b)       .size   a,b
 
-#if defined(OUT) || defined(BSDI)
+#if defined(OUT) || (defined(BSDI) && !defined(ELF))
 $tmp
 #endif
 
@@ -84,7 +89,7 @@ $tmp
 #define ALIGN  4
 #endif
 
-#ifdef BSDI
+#if defined(BSDI) && !defined(ELF)
 #define OK              1
 #define ALIGN           4
 #undef SIZE