You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Once you have the files you can run `autoreconf`and friends. Our testing showed `autoupdate` produced bad results on some versions of Autotools, so it is hit or miss whether it should be run.
48
+
Once you have the files you can run `bootstrap.sh`. `bootstrap.sh` performs the necessary preamble and also runs `autoupdate`. Our testing showed `autoupdate` produced bad results on some versions of Autotools, so it is hit or miss whether it should be run.
48
49
49
-
autoupdate
50
-
libtoolize --force --install
51
-
autoreconf --force --install
50
+
./bootstrap.sh
52
51
53
52
./configure <options>
54
53
@@ -58,7 +57,7 @@ Once you have the files you can run `autoreconf` and friends. Our testing showed
58
57
59
58
Best performance is obtained with `-O3` because GCC (and other compiler) apply vectorization optimizations. If you are not forced to `-O2` by policy (like Debian or Fedora), then you should configure with a higher optimization enabled:
Despite our efforts we have not been able to add the submodule to Crypto++ for seamless integration. If anyone knows how to add a submodule directly to the Crypto++ directory, then please provide the instructions.
64
63
@@ -73,7 +72,7 @@ If you mix and match Master with a release zip file then things may not work as
73
72
Before running the Autotools project please ensure you have the following installed:
74
73
75
74
1. autoupdate
76
-
2. autoconf
75
+
2. autoconf and autoreconf
77
76
3. automake
78
77
4. libtool
79
78
@@ -88,28 +87,7 @@ The library's `GNUmakefile` and `GNUmakefile-cross` were modified to clean the a
88
87
89
88
## Cross-compiles
90
89
91
-
Cross-compiles are mostly broken due to Autotools. The biggest problem seems to be Autotools inability to honor a C++ project settings. Using Android as an example:
92
-
93
-
*`configure.ac` sets `AC_PROG_CXX`
94
-
*`configure.ac` sets `AC_LANG([C++])`
95
-
* User sets `CXX=/opt/android-ndk-r19c/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++`
96
-
* User sets `LD=/opt/android-ndk-r19c/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++`
97
-
* User sets `CXXFLAGS="-target armv7-none-linux-androideabi21 ...`
98
-
* User sets `LDFLAGS="-Wl,-target=armv7-none-linux-androideabi21 ...`
99
-
* User invokes `./configure --host=$(config.guess) --build=armv7-none-linux-androideabi21`
100
-
101
-
Autotools will perform a test using the host's gcc and fail with:
102
-
103
-
```
104
-
configure:3481: checking whether the C compiler works
Autotools absolutely sucks. The maintainers have had 30 years to get it right and their shit is still broken.
90
+
Cross-compiles may work. The biggest problem seems to be libtool and shared object naming. Autotools fails to produce a shared object on platforms like Android.
113
91
114
92
## Collaboration
115
93
We would like all distro maintainers to be collaborators on this repo. If you are a distro maintainer then please contact us so we can send you an invite.
0 commit comments