X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=Makefile.in;h=b52bc18eaa623ff86ce09336787149c13336c780;hp=629141de97553397fb58aa5e964a8d5f68cc732a;hb=c15e95a61dacfc326cf9cdf05935ae8c6c97bcf6;hpb=289578b90cbfd17027ba50cc2ef76ff7b760997a diff --git a/Makefile.in b/Makefile.in index 629141de97..b52bc18eaa 100644 --- a/Makefile.in +++ b/Makefile.in @@ -28,8 +28,38 @@ INSTALL_PREFIX={- $config{install_prefix} -} # Do not edit these manually. Use Configure with --prefix or --openssldir # to change this! Short explanation in the top comment in Configure -INSTALLTOP={- $config{prefix} -} -OPENSSLDIR={- $config{openssldir} -} +INSTALLTOP={- # $prefix is used in the OPENSSLDIR perl snippet + # + our $prefix = $config{prefix} || "/usr/local"; + $prefix -} +OPENSSLDIR={- # + # The logic here is that if no --openssldir was given, + # OPENSSLDIR will get the value from $prefix plus "/ssl". + # If --openssldir was given and the value is an absolute + # path, OPENSSLDIR will get its value without change. + # If the value from --openssldir is a relative path, + # OPENSSLDIR will get $prefix with the --openssldir + # value appended as a subdirectory. + # + use File::Spec::Functions; + our $openssldir = + $config{openssldir} ? + (file_name_is_absolute($config{openssldir}) ? + $config{openssldir} + : catdir($prefix, $config{openssldir})) + : catdir($prefix, "ssl"); + $openssldir -} +LIBDIR={- # + # if $prefix/lib$target{multilib} is not an existing + # directory, then assume that it's not searched by linker + # automatically, in which case adding $target{multilib} suffix + # causes more grief than we're ready to tolerate, so don't... + our $multilib = + -d "$prefix/lib$target{multilib}" ? $target{multilib} : ""; + our $libdir = $config{libdir} || "lib$multilib"; + $libdir -} +ENGINESDIR={- use File::Spec::Functions; + catdir($prefix,$libdir,"engines") -} # NO_IDEA - Define to build without the IDEA algorithm # NO_RC4 - Define to build without the RC4 algorithm @@ -46,7 +76,7 @@ OPENSSLDIR={- $config{openssldir} -} # NULL encryption ciphers. # # LOCK_DEBUG - turns on lots of lock debug output :-) -# REF_CHECK - turn on some xyz_free() assertions. +# REF_DEBUG - turn on some xyz_free() assertions. # REF_PRINT - prints some stuff on structure free. # MFUNC - Make all Malloc/Free/Realloc calls call # CRYPTO_malloc/CRYPTO_free/CRYPTO_realloc which can be setup to @@ -60,10 +90,12 @@ OPENSSLDIR={- $config{openssldir} -} CROSS_COMPILE= {- $config{cross_compile_prefix} -} CC= $(CROSS_COMPILE){- $target{cc} -} -CFLAG= {- $config{cflags} -} -DEPFLAG= {- $config{depflags} -} -PEX_LIBS= {- $config{prelflags} -} -EX_LIBS= {- $config{lflags} -} +CFLAG={- our $cflags2 = join(" ",(map { "-D".$_} @{$config{defines}}),"-DOPENSSLDIR=\"\\\"\$(OPENSSLDIR)\\\"\"","-DENGINESDIR=\"\\\"\$(ENGINESDIR)\\\"\"") -} {- $config{cflags} -} +CFLAG_Q={- $cflags2 =~ s|([\\"])|\\$1|g; $cflags2 -} {- $config{cflags} -} +DEPFLAG= {- join(" ",map { "-D".$_} @{$config{depdefines}}) -} +LDFLAG= {- $config{lflags} -} +PLIB_LDFLAG= {- $config{plib_lflags} -} +EX_LIBS= {- $config{ex_libs} -} EXE_EXT= {- $target{exe_extension} -} ARFLAGS= {- $target{arflags} -} AR=$(CROSS_COMPILE){- $target{ar} -} $(ARFLAGS) r @@ -75,7 +107,6 @@ RM= rm -f TAR= tar TARFLAGS= --no-recursion MAKEDEPPROG=$(CROSS_COMPILE){- $config{makedepprog} -} -LIBDIR={- $config{libdir} -} # We let the C compiler driver to take care of .s files. This is done in # order to be excused from maintaining a separate set of architecture @@ -111,8 +142,8 @@ POLY1305_ASM_OBJ= {- $target{poly1305_obj} -} PERLASM_SCHEME= {- $target{perlasm_scheme} -} # Zlib stuff -ZLIB_INCLUDE={- $withargs{zlib-include} -} -LIBZLIB={- $withargs{zlib-lib} -} +ZLIB_INCLUDE={- $withargs{zlib_include} -} +LIBZLIB={- $withargs{zlib_lib} -} # This is the location of fipscanister.o and friends. # The FIPS module build will place it $(INSTALLTOP)/lib @@ -160,7 +191,21 @@ LIBS= libcrypto.a libssl.a SHARED_CRYPTO=libcrypto$(SHLIB_EXT) SHARED_SSL=libssl$(SHLIB_EXT) SHARED_LIBS={- '$(SHARED_CRYPTO) $(SHARED_SSL)' if (!$config{no_shared}) -} -SHARED_LDFLAGS={- $target{shared_ldflag} -} +SHARED_LDFLAG={- $target{shared_ldflag} + # Unlike other OSes (like Solaris, Linux, Tru64, + # IRIX) BSD run-time linkers (tested OpenBSD, NetBSD + # and FreeBSD) "demand" RPATH set on .so objects. + # Apparently application RPATH is not global and + # does not apply to .so linked with other .so. + # Problem manifests itself when libssl.so fails to + # load libcrypto.so. One can argue that we should + # engrave this into Makefile.shared rules or into + # BSD-* config lines above. Meanwhile let's try to + # be cautious and pass -rpath to linker only when + # $prefix is not /usr. + . ($config{target} =~ m|^BSD-| && $prefix !~ m|^/usr/.*$| + ? " -Wl,-rpath,\$\$(LIBRPATH)" : "") -} +SHARED_RCFLAG={- $target{shared_rcflag} -} GENERAL= Makefile BASENAME= openssl @@ -200,7 +245,7 @@ CLEARENV= TOP= && unset TOP $${LIB+LIB} $${LIBS+LIBS} \ # LC_ALL=C ensures that error [and other] messages are delivered in # same language for uniform treatment. BUILDENV= LC_ALL=C PLATFORM='$(PLATFORM)' PROCESSOR='$(PROCESSOR)'\ - CC='$(CC)' CFLAG='$(CFLAG)' \ + CC='$(CC)' CFLAG='$(CFLAG)' CFLAG_Q='$(CFLAG_Q)' \ AS='$(CC)' ASFLAG='$(CFLAG) -c' \ AR='$(AR)' NM='$(NM)' RANLIB='$(RANLIB)' \ CROSS_COMPILE='$(CROSS_COMPILE)' \ @@ -209,14 +254,14 @@ BUILDENV= LC_ALL=C PLATFORM='$(PLATFORM)' PROCESSOR='$(PROCESSOR)'\ INSTALL_PREFIX='$(INSTALL_PREFIX)' \ INSTALLTOP='$(INSTALLTOP)' OPENSSLDIR='$(OPENSSLDIR)' \ LIBDIR='$(LIBDIR)' \ - MAKEDEPEND='$$$${TOP}/util/domd $$$${TOP} -MD $(MAKEDEPPROG)' \ DEPFLAG='$(DEPFLAG)' \ - MAKEDEPPROG='$(MAKEDEPPROG)' \ - SHARED_LDFLAGS='$(SHARED_LDFLAGS)' \ + SHARED_LDFLAG='$(SHARED_LDFLAG)' \ + SHARED_RCFLAG='$(SHARED_RCFLAG)' \ ZLIB_INCLUDE='$(ZLIB_INCLUDE)' LIBZLIB='$(LIBZLIB)' \ EXE_EXT='$(EXE_EXT)' SHARED_LIBS='$(SHARED_LIBS)' \ SHLIB_EXT='$(SHLIB_EXT)' SHLIB_TARGET='$(SHLIB_TARGET)' \ - PEX_LIBS='$(PEX_LIBS)' EX_LIBS='$(EX_LIBS)' \ + LDFLAG='$(LDFLAG)' \ + PLIB_LDFLAG='$(PLIB_LDFLAG)' EX_LIBS='$(EX_LIBS)' \ CPUID_OBJ='$(CPUID_OBJ)' BN_ASM='$(BN_ASM)' \ EC_ASM='$(EC_ASM)' DES_ENC='$(DES_ENC)' \ AES_ENC='$(AES_ENC)' CMLL_ENC='$(CMLL_ENC)' \ @@ -330,6 +375,23 @@ do_$(SHLIB_TARGET): LIBDEPS="$$libs $(EX_LIBS)" \ link_a.$(SHLIB_TARGET); \ libs="-l$$i $$libs"; \ + case "$(PLATFORM)" in \ + Cygwin*) \ + rm -f apps/cyg$$i-$(SHLIB_MAJOR).$(SHLIB_MINOR).dll; \ + rm -f test/cyg$$i-$(SHLIB_MAJOR).$(SHLIB_MINOR).dll; \ + cp cyg$$i-$(SHLIB_MAJOR).$(SHLIB_MINOR).dll apps/; \ + cp cyg$$i-$(SHLIB_MAJOR).$(SHLIB_MINOR).dll test/; \ + ;; \ + mingw*) \ + case $$i in \ + crypto) i=libeay32;; \ + ssl) i=ssleay32;; \ + esac; \ + rm -f apps/$$i.dll; \ + rm -f test/$$i.dll; \ + cp $$i.dll apps/; \ + cp $$i.dll test/; \ + esac; \ done libcrypto.pc: Makefile @@ -412,7 +474,7 @@ rehash.time: certs build_apps build_tools touch rehash.time; \ else :; fi -test: tests +test: files tests tests: rehash @@ -442,9 +504,9 @@ depend: update: generate errors ordinals depend generate: - (cd apps && $(MAKE) generate) - (cd crypto/bn && $(MAKE) generate) - (cd crypto/objects && $(MAKE) generate) + (cd apps && PERL='${PERL}' $(MAKE) generate) + (cd crypto/bn && PERL='${PERL}' $(MAKE) generate) + (cd crypto/objects && PERL='${PERL}' $(MAKE) generate) errors: $(PERL) util/ck_errf.pl -strict */*.c */*/*.c @@ -491,7 +553,7 @@ tar-snap: $(TARFILE).list rm -f $(TARFILE).list ls -l $(TARFILE) -dist: +dist: $(PERL) Configure dist @$(MAKE) SDIRS='$(SDIRS)' clean @$(MAKE) TAR='$(TAR)' TARFLAGS='$(TARFLAGS)' $(DISTTARVARS) tar