diff options
author | lloyd <[email protected]> | 2008-04-14 01:04:44 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2008-04-14 01:04:44 +0000 |
commit | 2a5d109a8d35741284a23ef4f87a98cef303ff26 (patch) | |
tree | bfa0c9e43b78aa0c391455aa73a04153b9b0b2bd | |
parent | d2300c21e66699aa8a1be30904971ecbeb8ad41e (diff) | |
parent | cc9d0fcce37eb292c17c7dd75080d8f621c54d3e (diff) |
merge of '34be1e0ad58e29063ea95d33f2cdc090fd63c4b2'
and 'fcc3affb2faabb6cf819877452cfc88201d4e1a0'
-rwxr-xr-x | configure.pl | 27 | ||||
-rw-r--r-- | doc/todo.txt | 6 | ||||
-rw-r--r-- | misc/config/cc/ekopath | 2 | ||||
-rw-r--r-- | misc/config/cc/gcc | 6 | ||||
-rw-r--r-- | misc/config/cc/hpcc | 2 | ||||
-rw-r--r-- | misc/config/cc/icc | 2 | ||||
-rw-r--r-- | misc/config/cc/mipspro | 2 | ||||
-rw-r--r-- | misc/config/cc/pgi | 2 | ||||
-rw-r--r-- | misc/config/cc/sgipro64 | 2 | ||||
-rw-r--r-- | misc/config/cc/sunwspro | 2 | ||||
-rw-r--r-- | misc/config/makefile/unix_shr.in | 2 |
11 files changed, 29 insertions, 26 deletions
diff --git a/configure.pl b/configure.pl index 5d60ba0b4..f055295fa 100755 --- a/configure.pl +++ b/configure.pl @@ -1434,7 +1434,7 @@ sub get_cc_info { 'dll_export_flags', 'lang_flags', 'warning_flags', - 'so_obj_flags', + 'shared_flags', 'ar_command', 'debug_flags', 'no_debug_flags'); @@ -1493,34 +1493,31 @@ sub write_pkg_config { ################################################## sub file_list { my ($put_in, $from, $to, %files) = @_; - my $spaces = 16; my $list = ''; - my $len = $spaces; + my $spaces = 16; + foreach (sort keys %files) { my $file = $_; - if($len > 60) { - $list .= "\\\n" . ' 'x$spaces; - $len = $spaces; - } - $file =~ s/$from/$to/ if(defined($from) and defined($to)); my $dir = $files{$_}; $dir = $put_in if defined $put_in; if(defined($dir)) { - $list .= File::Spec->catfile ($dir, $file) . ' '; - $len += length($file) + length($dir); + $list .= File::Spec->catfile ($dir, $file); } else { - $list .= $file . ' '; - $len += length($file); + $list .= $file; } + + $list .= " \\\n "; } + $list =~ s/\\\n +$//; # remove trailing escape + return $list; } @@ -1635,7 +1632,7 @@ sub generate_makefile { (in_array('all', $OPERATING_SYSTEM{$os}{'supports_shared'}) or in_array($arch, $OPERATING_SYSTEM{$os}{'supports_shared'}))) { - $$config{'so_obj_flags'} = &$empty_if_nil($ccinfo{'so_obj_flags'}); + $$config{'shared_flags'} = &$empty_if_nil($ccinfo{'shared_flags'}); $$config{'so_link'} = &$empty_if_nil($ccinfo{'so_link_flags'}{$os}); if($$config{'so_link'} eq '') { @@ -1643,7 +1640,7 @@ sub generate_makefile { &$empty_if_nil($ccinfo{'so_link_flags'}{'default'}) } - if($$config{'so_obj_flags'} eq '' and $$config{'so_link'} eq '') { + if($$config{'shared_flags'} eq '' and $$config{'so_link'} eq '') { $$config{'shared'} = 'no'; warning($$config{'compiler'}, ' has no shared object flags set ', @@ -1652,7 +1649,7 @@ sub generate_makefile { } else { $$config{'shared'} = 'no'; - $$config{'so_obj_flags'} = ''; + $$config{'shared_flags'} = ''; $$config{'so_link'} = ''; } diff --git a/doc/todo.txt b/doc/todo.txt index c41a38d1c..b861ed20c 100644 --- a/doc/todo.txt +++ b/doc/todo.txt @@ -38,6 +38,12 @@ ability to generate any needed or requested package-building scripts, with support for systems like rpm, portage, dpkg, commercial Unix package systems, and Windows installer systems. +Splitting the build into distinct static and shared targets (and +static-debug and shared-debug) would make certain things much simpler, +as well as being a performance advantage on many systems (in +particular on x86, where losing %ebx for the PIC pointer is a huge +loss) + Modules to allow use of platform-specific features within Botan can make life significantly better for users on that platform. Generic Unix/POSIX support is more or less complete, but there are countless diff --git a/misc/config/cc/ekopath b/misc/config/cc/ekopath index 084240e03..159672588 100644 --- a/misc/config/cc/ekopath +++ b/misc/config/cc/ekopath @@ -15,7 +15,7 @@ warning_flags "-W -Wall" ar_command "pathCC -ar -o" -so_obj_flags "-fPIC" +shared_flags "-fPIC" debug_flags "-g" dll_import_flags "" diff --git a/misc/config/cc/gcc b/misc/config/cc/gcc index 9d85dc049..538bfdbab 100644 --- a/misc/config/cc/gcc +++ b/misc/config/cc/gcc @@ -8,12 +8,12 @@ add_include_dir_option "-I" add_lib_dir_option "-L" add_lib_option "-l" -lib_opt_flags "-O2 -finline-functions" -check_opt_flags "-O2" lang_flags "-D_REENTRANT -ansi -Wno-long-long" warning_flags "-W -Wall" -so_obj_flags "-fPIC" +lib_opt_flags "-O0 -finline-functions" +check_opt_flags "-O0" +shared_flags "-fPIC" debug_flags "-g" dll_import_flags "" diff --git a/misc/config/cc/hpcc b/misc/config/cc/hpcc index 5732ba8f0..284e92ca6 100644 --- a/misc/config/cc/hpcc +++ b/misc/config/cc/hpcc @@ -14,7 +14,7 @@ debug_flags "-g" no_debug_flags "" lang_flags "-AA -ext +eh -z" warning_flags "" # +w -so_obj_flags "+Z" +shared_flags "+Z" dll_import_flags "" dll_export_flags "" diff --git a/misc/config/cc/icc b/misc/config/cc/icc index 23061add5..cf5b21298 100644 --- a/misc/config/cc/icc +++ b/misc/config/cc/icc @@ -14,7 +14,7 @@ debug_flags "-g" no_debug_flags "-fomit-frame-pointer" lang_flags "" warning_flags "-w1" -so_obj_flags "-fPIC" +shared_flags "-fPIC" dll_import_flags "" dll_export_flags "" diff --git a/misc/config/cc/mipspro b/misc/config/cc/mipspro index 4fe2e5ec3..b75fc4fb3 100644 --- a/misc/config/cc/mipspro +++ b/misc/config/cc/mipspro @@ -12,7 +12,7 @@ lib_opt_flags "-O3 -OPT:alias=TYPED" check_opt_flags "-O3 -OPT:alias=TYPED" debug_flags "-g3" no_debug_flags "" -so_obj_flags "-KPIC" +shared_flags "-KPIC" lang_flags "-ansi -LANG:ansi-for-init-scope=ON" # Disabled, because, while my code is fine, it warns about a lot of it's own # headers <g> diff --git a/misc/config/cc/pgi b/misc/config/cc/pgi index af170b8d1..35f466477 100644 --- a/misc/config/cc/pgi +++ b/misc/config/cc/pgi @@ -10,7 +10,7 @@ add_lib_option "-l" lib_opt_flags "-fast -Minline" check_opt_flags "-fast" -so_obj_flags "-fPIC" +shared_flags "-fPIC" dll_import_flags "" dll_export_flags "" diff --git a/misc/config/cc/sgipro64 b/misc/config/cc/sgipro64 index 196e678e9..28132ffcc 100644 --- a/misc/config/cc/sgipro64 +++ b/misc/config/cc/sgipro64 @@ -12,7 +12,7 @@ lib_opt_flags "-O3 -OPT:alias=TYPED" check_opt_flags "-O3 -OPT:alias=TYPED" debug_flags "-g3" no_debug_flags "" -so_obj_flags "-KPIC" +shared_flags "-KPIC" lang_flags "-ansi -LANG:ansi-for-init-scope=ON" warning_flags "-Wall -W" diff --git a/misc/config/cc/sunwspro b/misc/config/cc/sunwspro index 41040c880..8ac19e80e 100644 --- a/misc/config/cc/sunwspro +++ b/misc/config/cc/sunwspro @@ -14,7 +14,7 @@ lib_opt_flags "-xO2" check_opt_flags "-xO2" debug_flags "-g" no_debug_flags "" -so_obj_flags "-KPIC" +shared_flags "-KPIC" warning_flags "+w" lang_flags "+p -D__EXTENSIONS__" diff --git a/misc/config/makefile/unix_shr.in b/misc/config/makefile/unix_shr.in index 558ece61e..a3be7d3af 100644 --- a/misc/config/makefile/unix_shr.in +++ b/misc/config/makefile/unix_shr.in @@ -7,7 +7,7 @@ CHECK_OPT = @{var:check_opt} MACH_OPT = @{var:mach_opt} LANG_FLAGS = @{var:lang_flags} WARN_FLAGS = @{var:warn_flags} -SO_OBJ_FLAGS = @{var:so_obj_flags} +SO_OBJ_FLAGS = @{var:shared_flags} SO_LINK_CMD = @{var:so_link} LINK_TO = @{var:link_to} |