aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlloyd <[email protected]>2008-04-14 01:04:44 +0000
committerlloyd <[email protected]>2008-04-14 01:04:44 +0000
commit2a5d109a8d35741284a23ef4f87a98cef303ff26 (patch)
treebfa0c9e43b78aa0c391455aa73a04153b9b0b2bd
parentd2300c21e66699aa8a1be30904971ecbeb8ad41e (diff)
parentcc9d0fcce37eb292c17c7dd75080d8f621c54d3e (diff)
merge of '34be1e0ad58e29063ea95d33f2cdc090fd63c4b2'
and 'fcc3affb2faabb6cf819877452cfc88201d4e1a0'
-rwxr-xr-xconfigure.pl27
-rw-r--r--doc/todo.txt6
-rw-r--r--misc/config/cc/ekopath2
-rw-r--r--misc/config/cc/gcc6
-rw-r--r--misc/config/cc/hpcc2
-rw-r--r--misc/config/cc/icc2
-rw-r--r--misc/config/cc/mipspro2
-rw-r--r--misc/config/cc/pgi2
-rw-r--r--misc/config/cc/sgipro642
-rw-r--r--misc/config/cc/sunwspro2
-rw-r--r--misc/config/makefile/unix_shr.in2
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}