]> git.ipfire.org Git - thirdparty/openssl.git/blobdiff - Configurations/10-main.conf
Fix AIX FIPS DEP.
[thirdparty/openssl.git] / Configurations / 10-main.conf
index a44a74cb32199e4e5f01dba749edb819f1f803b2..138ad8a6ae0c2c3b1e5471489b87574d34b7cc4a 100644 (file)
@@ -134,7 +134,9 @@ sub vms_info {
     }
 
     unless (%$vms_info) {
-        $vms_info->{disable_warns} = [ ];
+        $vms_info->{disable_warns} = [
+            "CXXPRAGMANA",      # Shut up about unknown / unsupported pragmas
+        ];
         $vms_info->{pointer_size} = $pointer_size_str;
         if ($pointer_size_str eq "64") {
             `PIPE CC /NOCROSS_REFERENCE /NOLIST /NOOBJECT /WARNINGS = DISABLE = ( MAYLOSEDATA3, EMPTYFILE ) NL: 2> NL:`;
@@ -225,7 +227,7 @@ my %targets = (
     "solaris-common-gcc" => {
         inherit_from     => [ "solaris-common" ],
         template         => 1,
-        shared_target    => "solaris-gcc", # The rest is on shared_info.pl
+        shared_target    => "solaris-gcc-shared", # The rest is on shared_info.pl
     },
 #### Solaris x86 with GNU C setups
     "solaris-x86-gcc" => {
@@ -371,7 +373,7 @@ my %targets = (
     },
     "solaris64-sparcv9-cc" => {
         inherit_from     => [ "solaris-sparcv7-cc" ],
-        cflags           => add_before("-xarch=v9"),
+        cflags           => add_before("-m64 -xarch=sparc"),
         bn_ops           => "BN_LLONG RC4_CHAR",
         asm_arch         => 'sparcv9',
         perlasm_scheme   => 'void',
@@ -675,7 +677,7 @@ my %targets = (
 ####
 # *-generic* is endian-neutral target, but ./config is free to
 # throw in -D[BL]_ENDIAN, whichever appropriate...
-    "linux-generic32" => {
+    "linux-generic" => {
         inherit_from     => [ "BASE_unix" ],
         CC               => "gcc",
         CXX              => "g++",
@@ -697,8 +699,13 @@ my %targets = (
         shared_ldflag    => sub { $disabled{pinshared} ? () : "-Wl,-znodelete" },
         enable           => [ "afalgeng" ],
     },
+    "linux-generic32" => {
+        inherit_from     => [ "linux-generic" ],
+        ex_libs          => add(threads("-latomic")),
+        bn_ops           => "BN_LLONG RC4_CHAR",
+    },
     "linux-generic64" => {
-        inherit_from     => [ "linux-generic32" ],
+        inherit_from     => [ "linux-generic" ],
         bn_ops           => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
     },
 
@@ -706,6 +713,7 @@ my %targets = (
         inherit_from     => [ "linux-generic32" ],
         asm_arch         => 'ppc32',
         perlasm_scheme   => "linux32",
+        lib_cppflags     => add("-DB_ENDIAN"),
     },
     "linux-ppc64" => {
         inherit_from     => [ "linux-generic64" ],
@@ -804,6 +812,13 @@ my %targets = (
         multilib         => "64",
     },
 
+    # riscv64 below refers to contemporary RISCV Architecture
+    # specifications,
+    "linux64-riscv64" => {
+        inherit_from     => [ "linux-generic64"],
+        perlasm_scheme   => "linux64",
+    },
+
     #### IA-32 targets...
     #### These two targets are a bit aged and are to be used on older Linux
     #### machines where gcc doesn't understand -m32 and -m64
@@ -937,6 +952,7 @@ my %targets = (
         cflags           => add("-m64 -mcpu=ultrasparc"),
         cxxflags         => add("-m64 -mcpu=ultrasparc"),
         lib_cppflags     => add("-DB_ENDIAN"),
+        ex_libs          => add(threads("-latomic")),
         bn_ops           => "BN_LLONG RC4_CHAR",
         asm_arch         => 'sparcv9',
         perlasm_scheme   => 'void',
@@ -1164,6 +1180,7 @@ my %targets = (
         module_ldflags   => "-Wl,-G,-bsymbolic,-bnoentry",
         shared_ldflag    => "-Wl,-G,-bsymbolic,-bnoentry",
         shared_defflag   => "-Wl,-bE:",
+        shared_fipsflag  => "-Wl,-binitfini:_init:_cleanup",
         perl_platform    => 'AIX',
     },
     "aix-gcc" => {
@@ -1172,7 +1189,7 @@ my %targets = (
         CFLAGS           => picker(debug   => "-O0 -g",
                                    release => "-O"),
         cflags           => add(threads("-pthread")),
-        ex_libs          => threads("-pthread"),
+        ex_libs          => add(threads("-pthread")),
         bn_ops           => "BN_LLONG RC4_CHAR",
         asm_arch         => 'ppc32',
         perlasm_scheme   => "aix32",
@@ -1186,7 +1203,7 @@ my %targets = (
         CFLAGS           => picker(debug   => "-O0 -g",
                                    release => "-O"),
         cflags           => combine("-maix64", threads("-pthread")),
-        ex_libs          => threads("-pthread"),
+        ex_libs          => add(threads("-pthread")),
         bn_ops           => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
         asm_arch         => 'ppc64',
         perlasm_scheme   => "aix64",
@@ -1203,7 +1220,7 @@ my %targets = (
         cflags           => combine("-q32 -qmaxmem=16384 -qro -qroconst",
                                     threads("-qthreaded")),
         cppflags         => threads("-D_THREAD_SAFE"),
-        ex_libs          => threads("-lpthreads"),
+        ex_libs          => add(threads("-lpthreads")),
         bn_ops           => "BN_LLONG RC4_CHAR",
         asm_arch         => 'ppc32',
         perlasm_scheme   => "aix32",
@@ -1219,7 +1236,7 @@ my %targets = (
         cflags           => combine("-q64 -qmaxmem=16384 -qro -qroconst",
                                     threads("-qthreaded")),
         cppflags         => threads("-D_THREAD_SAFE"),
-        ex_libs          => threads("-lpthreads"),
+        ex_libs          => add(threads("-lpthreads")),
         bn_ops           => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
         asm_arch         => 'ppc64',
         perlasm_scheme   => "aix64",
@@ -1266,10 +1283,23 @@ my %targets = (
         inherit_from     => [ "BASE_Windows" ],
         template         => 1,
         CC               => "cl",
-        CPP              => '$(CC) /EP /C',
+        CPP              => '"$(CC)" /EP /C',
         CFLAGS           => "/W3 /wd4090 /nologo",
-        LDFLAGS          => add("/debug"),
         coutflag         => "/Fo",
+        LD               => "link",
+        LDFLAGS          => "/nologo /debug",
+        ldoutflag        => "/out:",
+        ldpostoutflag    => "",
+        ld_resp_delim    => "\n",
+        bin_lflags       => "setargv.obj",
+        makedepcmd       => '"$(CC)" /Zs /showIncludes',
+        makedep_scheme   => 'VC',
+        AR               => "lib",
+        ARFLAGS          => "/nologo",
+        aroutflag        => "/out:",
+        ar_resp_delim    => "\n",
+        RC               => "rc",
+        rcoutflag        => "/fo",
         defines          => add("OPENSSL_SYS_WIN32", "WIN32_LEAN_AND_MEAN",
                                 "UNICODE", "_UNICODE",
                                 "_CRT_SECURE_NO_DEPRECATE",
@@ -1282,6 +1312,9 @@ my %targets = (
         shared_defflag   => '',
         shared_ldflag    => "/dll",
         shared_target    => "win-shared", # meaningless except it gives Configure a hint
+        lddefflag        => "/def:",
+        ldresflag        => " ",
+        ld_implib_flag   => "/implib:",
         thread_scheme    => "winthreads",
         dso_scheme       => "win32",
         perl_platform    => 'Windows::MSVC',
@@ -1416,9 +1449,9 @@ my %targets = (
             }
             push @ex_libs, '$(PORTSDK_LIBPATH)/portlib.lib'
                 if (defined(env('PORTSDK_LIBPATH')));
-            push @ex_libs, ' /nodefaultlib coredll.lib corelibc.lib'
-                if (env('TARGETCPU') eq "X86");
-            return @ex_libs;
+            push @ex_libs, '/nodefaultlib coredll.lib corelibc.lib'
+                if (env('TARGETCPU') =~ /^X86|^ARMV4[IT]/);
+            return join(" ", @ex_libs);
         }),
     },
 
@@ -1562,7 +1595,7 @@ my %targets = (
         CFLAGS           => picker(debug   => "-g -O0",
                                    release => "-O3"),
         cppflags         => threads("-D_REENTRANT"),
-        lflags           => "-Wl,-search_paths_first",
+        lflags           => add("-Wl,-search_paths_first"),
         sys_id           => "MACOSX",
         bn_ops           => "BN_LLONG RC4_CHAR",
         thread_scheme    => "pthreads",
@@ -1576,7 +1609,8 @@ my %targets = (
     # Option "freeze" such as -std=gnu9x can't negatively interfere
     # with future defaults for below two targets, because MacOS X
     # for PPC has no future, it was discontinued by vendor in 2009.
-    "darwin-ppc-cc" => {
+    "darwin-ppc-cc" => { inherit_from => [ "darwin-ppc" ] }, # Historic alias
+    "darwin-ppc" => {
         inherit_from     => [ "darwin-common" ],
         cflags           => add("-arch ppc -std=gnu9x -Wa,-force_cpusubtype_ALL"),
         lib_cppflags     => add("-DB_ENDIAN"),
@@ -1584,7 +1618,8 @@ my %targets = (
         asm_arch         => 'ppc32',
         perlasm_scheme   => "osx32",
     },
-    "darwin64-ppc-cc" => {
+    "darwin64-ppc-cc" => { inherit_from => [ "darwin64-ppc" ] }, # Historic alias
+    "darwin64-ppc" => {
         inherit_from     => [ "darwin-common" ],
         cflags           => add("-arch ppc64 -std=gnu9x"),
         lib_cppflags     => add("-DB_ENDIAN"),
@@ -1592,7 +1627,8 @@ my %targets = (
         asm_arch         => 'ppc64',
         perlasm_scheme   => "osx64",
     },
-    "darwin-i386-cc" => {
+    "darwin-i386-cc" => { inherit_from => [ "darwin-i386" ] }, # Historic alias
+    "darwin-i386" => {
         inherit_from     => [ "darwin-common" ],
         CFLAGS           => add(picker(release => "-fomit-frame-pointer")),
         cflags           => add("-arch i386"),
@@ -1601,7 +1637,8 @@ my %targets = (
         asm_arch         => 'x86',
         perlasm_scheme   => "macosx",
     },
-    "darwin64-x86_64-cc" => {
+    "darwin64-x86_64-cc" => { inherit_from => [ "darwin64-x86_64" ] }, # Historic alias
+    "darwin64-x86_64" => {
         inherit_from     => [ "darwin-common" ],
         CFLAGS           => add("-Wall"),
         cflags           => add("-arch x86_64"),
@@ -1610,6 +1647,16 @@ my %targets = (
         asm_arch         => 'x86_64',
         perlasm_scheme   => "macosx",
     },
+    "darwin64-arm64-cc" => { inherit_from => [ "darwin64-arm64" ] }, # "Historic" alias
+    "darwin64-arm64" => {
+        inherit_from     => [ "darwin-common" ],
+        CFLAGS           => add("-Wall"),
+        cflags           => add("-arch arm64"),
+        lib_cppflags     => add("-DL_ENDIAN"),
+        bn_ops           => "SIXTY_FOUR_BIT_LONG",
+        asm_arch         => 'aarch64',
+        perlasm_scheme   => "ios64",
+    },
 
 ##### GNU Hurd
     "hurd-x86" => {
@@ -1775,6 +1822,7 @@ my %targets = (
                               @{vms_info()->{disable_warns}};
                           @warnings
                               ? "/WARNINGS=DISABLE=(".join(",",@warnings).")" : (); }),
+        cflag_incfirst   => '/FIRST_INCLUDE=',
         lib_defines      =>
             add("OPENSSL_USE_NODELETE",
                 sub {
@@ -1789,10 +1837,12 @@ my %targets = (
         # and binaries instead.
         bin_cflags       => add("/NAMES=(AS_IS,SHORTENED)/EXTERN_MODEL=STRICT_REFDEF"),
         lib_cflags       => add("/NAMES=(AS_IS,SHORTENED)/EXTERN_MODEL=STRICT_REFDEF"),
-        # For modules specifically, we assume that they only use public
-        # OpenSSL symbols, and therefore don't need to mangle names on
-        # their own.
-        dso_cflags       => "",
+        # Strictly speaking, DSOs should not need to have name shortening,
+        # as all their exported symbols should be short enough to fit the
+        # linker's 31 character per symbol name limit.  However, providers
+        # may be composed of more than one object file, and internal symbols
+        # may and do surpass the 31 character limit.
+        dso_cflags       => add("/NAMES=(SHORTENED)"),
         ex_libs          => add(sub { return vms_info()->{zlib} || (); }),
         shared_target    => "vms-shared",
         # def_flag made to empty string so a .opt file gets generated
@@ -1800,13 +1850,14 @@ my %targets = (
         dso_scheme       => "vms",
         thread_scheme    => "pthreads",
 
+        makedep_scheme   => 'VMS C',
         AS               => sub { vms_info()->{AS} },
         ASFLAGS          => sub { vms_info()->{ASFLAGS} },
         asoutflag        => sub { vms_info()->{asoutflag} },
         asflags          => sub { vms_info()->{asflags} },
         perlasm_scheme   => sub { vms_info()->{perlasm_scheme} },
 
-        disable          => add('pinshared'),
+        disable          => add('pinshared', 'loadereng'),
 
     },