xmlsec1-1.3.7/0000775000175000017500000000000014752657664011572 5ustar renerenexmlsec1-1.3.7/config.guess0000755000175000017500000014051214175772605014103 0ustar renerene#! /bin/sh # Attempt to guess a canonical system name. # Copyright 1992-2022 Free Software Foundation, Inc. # shellcheck disable=SC2006,SC2268 # see below for rationale timestamp='2022-01-09' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: # https://git.savannah.gnu.org/cgit/config.git/plain/config.guess # # Please send patches to . # The "shellcheck disable" line above the timestamp inhibits complaints # about features and limitations of the classic Bourne shell that were # superseded or lifted in POSIX. However, this script identifies a wide # variety of pre-POSIX systems that do not have POSIX shells at all, and # even some reasonably current systems (Solaris 10 as case-in-point) still # have a pre-POSIX /bin/sh. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Options: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright 1992-2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi # Just in case it came from the environment. GUESS= # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. tmp= # shellcheck disable=SC2172 trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 set_cc_for_build() { # prevent multiple calls if $tmp is already set test "$tmp" && return 0 : "${TMPDIR=/tmp}" # shellcheck disable=SC2039,SC3028 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } dummy=$tmp/dummy case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in ,,) echo "int x;" > "$dummy.c" for driver in cc gcc c89 c99 ; do if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then CC_FOR_BUILD=$driver break fi done if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac } # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if test -f /.attbin/uname ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown case $UNAME_SYSTEM in Linux|GNU|GNU/*) LIBC=unknown set_cc_for_build cat <<-EOF > "$dummy.c" #include #if defined(__UCLIBC__) LIBC=uclibc #elif defined(__dietlibc__) LIBC=dietlibc #elif defined(__GLIBC__) LIBC=gnu #else #include /* First heuristic to detect musl libc. */ #ifdef __DEFINED_va_list LIBC=musl #endif #endif EOF cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` eval "$cc_set_libc" # Second heuristic to detect musl libc. if [ "$LIBC" = unknown ] && command -v ldd >/dev/null && ldd --version 2>&1 | grep -q ^musl; then LIBC=musl fi # If the system lacks a compiler, then just pick glibc. # We could probably try harder. if [ "$LIBC" = unknown ]; then LIBC=gnu fi ;; esac # Note: order is significant - the case branches are not exclusive. case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ echo unknown)` case $UNAME_MACHINE_ARCH in aarch64eb) machine=aarch64_be-unknown ;; armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; earmv*) arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` machine=${arch}${endian}-unknown ;; *) machine=$UNAME_MACHINE_ARCH-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently (or will in the future) and ABI. case $UNAME_MACHINE_ARCH in earm*) os=netbsdelf ;; arm*|i386|m68k|ns32k|sh3*|sparc|vax) set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # Determine ABI tags. case $UNAME_MACHINE_ARCH in earm*) expr='s/^earmv[0-9]/-eabi/;s/eb$//' abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case $UNAME_VERSION in Debian*) release='-gnu' ;; *) release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. GUESS=$machine-${os}${release}${abi-} ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE ;; *:SecBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE ;; *:LibertyBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE ;; *:MidnightBSD:*:*) GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE ;; *:ekkoBSD:*:*) GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE ;; *:SolidBSD:*:*) GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE ;; *:OS108:*:*) GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE ;; macppc:MirBSD:*:*) GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE ;; *:MirBSD:*:*) GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE ;; *:Sortix:*:*) GUESS=$UNAME_MACHINE-unknown-sortix ;; *:Twizzler:*:*) GUESS=$UNAME_MACHINE-unknown-twizzler ;; *:Redox:*:*) GUESS=$UNAME_MACHINE-unknown-redox ;; mips:OSF1:*.*) GUESS=mips-dec-osf1 ;; alpha:OSF1:*:*) # Reset EXIT trap before exiting to avoid spurious non-zero exit code. trap '' 0 case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case $ALPHA_CPU_TYPE in "EV4 (21064)") UNAME_MACHINE=alpha ;; "EV4.5 (21064)") UNAME_MACHINE=alpha ;; "LCA4 (21066/21068)") UNAME_MACHINE=alpha ;; "EV5 (21164)") UNAME_MACHINE=alphaev5 ;; "EV5.6 (21164A)") UNAME_MACHINE=alphaev56 ;; "EV5.6 (21164PC)") UNAME_MACHINE=alphapca56 ;; "EV5.7 (21164PC)") UNAME_MACHINE=alphapca57 ;; "EV6 (21264)") UNAME_MACHINE=alphaev6 ;; "EV6.7 (21264A)") UNAME_MACHINE=alphaev67 ;; "EV6.8CB (21264C)") UNAME_MACHINE=alphaev68 ;; "EV6.8AL (21264B)") UNAME_MACHINE=alphaev68 ;; "EV6.8CX (21264D)") UNAME_MACHINE=alphaev68 ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE=alphaev69 ;; "EV7 (21364)") UNAME_MACHINE=alphaev7 ;; "EV7.9 (21364A)") UNAME_MACHINE=alphaev79 ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` GUESS=$UNAME_MACHINE-dec-osf$OSF_REL ;; Amiga*:UNIX_System_V:4.0:*) GUESS=m68k-unknown-sysv4 ;; *:[Aa]miga[Oo][Ss]:*:*) GUESS=$UNAME_MACHINE-unknown-amigaos ;; *:[Mm]orph[Oo][Ss]:*:*) GUESS=$UNAME_MACHINE-unknown-morphos ;; *:OS/390:*:*) GUESS=i370-ibm-openedition ;; *:z/VM:*:*) GUESS=s390-ibm-zvmoe ;; *:OS400:*:*) GUESS=powerpc-ibm-os400 ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) GUESS=arm-acorn-riscix$UNAME_RELEASE ;; arm*:riscos:*:*|arm*:RISCOS:*:*) GUESS=arm-unknown-riscos ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) GUESS=hppa1.1-hitachi-hiuxmpp ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. case `(/bin/universe) 2>/dev/null` in att) GUESS=pyramid-pyramid-sysv3 ;; *) GUESS=pyramid-pyramid-bsd ;; esac ;; NILE*:*:*:dcosx) GUESS=pyramid-pyramid-svr4 ;; DRS?6000:unix:4.0:6*) GUESS=sparc-icl-nx6 ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) GUESS=sparc-icl-nx7 ;; esac ;; s390x:SunOS:*:*) SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL ;; sun4H:SunOS:5.*:*) SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` GUESS=sparc-hal-solaris2$SUN_REL ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` GUESS=sparc-sun-solaris2$SUN_REL ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) GUESS=i386-pc-auroraux$UNAME_RELEASE ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) set_cc_for_build SUN_ARCH=i386 # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if test "$CC_FOR_BUILD" != no_compiler_found; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH=x86_64 fi fi SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` GUESS=$SUN_ARCH-pc-solaris2$SUN_REL ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` GUESS=sparc-sun-solaris3$SUN_REL ;; sun4*:SunOS:*:*) case `/usr/bin/arch -k` in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` GUESS=sparc-sun-sunos$SUN_REL ;; sun3*:SunOS:*:*) GUESS=m68k-sun-sunos$UNAME_RELEASE ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 case `/bin/arch` in sun3) GUESS=m68k-sun-sunos$UNAME_RELEASE ;; sun4) GUESS=sparc-sun-sunos$UNAME_RELEASE ;; esac ;; aushp:SunOS:*:*) GUESS=sparc-auspex-sunos$UNAME_RELEASE ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) GUESS=m68k-atari-mint$UNAME_RELEASE ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) GUESS=m68k-atari-mint$UNAME_RELEASE ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) GUESS=m68k-atari-mint$UNAME_RELEASE ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) GUESS=m68k-milan-mint$UNAME_RELEASE ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) GUESS=m68k-hades-mint$UNAME_RELEASE ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) GUESS=m68k-unknown-mint$UNAME_RELEASE ;; m68k:machten:*:*) GUESS=m68k-apple-machten$UNAME_RELEASE ;; powerpc:machten:*:*) GUESS=powerpc-apple-machten$UNAME_RELEASE ;; RISC*:Mach:*:*) GUESS=mips-dec-mach_bsd4.3 ;; RISC*:ULTRIX:*:*) GUESS=mips-dec-ultrix$UNAME_RELEASE ;; VAX*:ULTRIX*:*:*) GUESS=vax-dec-ultrix$UNAME_RELEASE ;; 2020:CLIX:*:* | 2430:CLIX:*:*) GUESS=clipper-intergraph-clix$UNAME_RELEASE ;; mips:*:*:UMIPS | mips:*:*:RISCos) set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o "$dummy" "$dummy.c" && dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`"$dummy" "$dummyarg"` && { echo "$SYSTEM_NAME"; exit; } GUESS=mips-mips-riscos$UNAME_RELEASE ;; Motorola:PowerMAX_OS:*:*) GUESS=powerpc-motorola-powermax ;; Motorola:*:4.3:PL8-*) GUESS=powerpc-harris-powermax ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) GUESS=powerpc-harris-powermax ;; Night_Hawk:Power_UNIX:*:*) GUESS=powerpc-harris-powerunix ;; m88k:CX/UX:7*:*) GUESS=m88k-harris-cxux7 ;; m88k:*:4*:R4*) GUESS=m88k-motorola-sysv4 ;; m88k:*:3*:R3*) GUESS=m88k-motorola-sysv3 ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 then if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ test "$TARGET_BINARY_INTERFACE"x = x then GUESS=m88k-dg-dgux$UNAME_RELEASE else GUESS=m88k-dg-dguxbcs$UNAME_RELEASE fi else GUESS=i586-dg-dgux$UNAME_RELEASE fi ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) GUESS=m88k-dolphin-sysv3 ;; M88*:*:R3*:*) # Delta 88k system running SVR3 GUESS=m88k-motorola-sysv3 ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) GUESS=m88k-tektronix-sysv3 ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) GUESS=m68k-tektronix-bsd ;; *:IRIX*:*:*) IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` GUESS=mips-sgi-irix$IRIX_REL ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) GUESS=i386-ibm-aix ;; ia64:AIX:*:*) if test -x /usr/bin/oslevel ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=$UNAME_VERSION.$UNAME_RELEASE fi GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` then GUESS=$SYSTEM_NAME else GUESS=rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then GUESS=rs6000-ibm-aix3.2.4 else GUESS=rs6000-ibm-aix3.2 fi ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if test -x /usr/bin/lslpp ; then IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else IBM_REV=$UNAME_VERSION.$UNAME_RELEASE fi GUESS=$IBM_ARCH-ibm-aix$IBM_REV ;; *:AIX:*:*) GUESS=rs6000-ibm-aix ;; ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) GUESS=romp-ibm-bsd4.4 ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) GUESS=rs6000-bull-bosx ;; DPX/2?00:B.O.S.:*:*) GUESS=m68k-bull-sysv3 ;; 9000/[34]??:4.3bsd:1.*:*) GUESS=m68k-hp-bsd ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) GUESS=m68k-hp-bsd4.4 ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` case $UNAME_MACHINE in 9000/31?) HP_ARCH=m68000 ;; 9000/[34]??) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if test -x /usr/bin/getconf; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case $sc_cpu_version in 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case $sc_kernel_bits in 32) HP_ARCH=hppa2.0n ;; 64) HP_ARCH=hppa2.0w ;; '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 esac ;; esac fi if test "$HP_ARCH" = ""; then set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if test "$HP_ARCH" = hppa2.0w then set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH=hppa2.0w else HP_ARCH=hppa64 fi fi GUESS=$HP_ARCH-hp-hpux$HPUX_REV ;; ia64:HP-UX:*:*) HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` GUESS=ia64-hp-hpux$HPUX_REV ;; 3050*:HI-UX:*:*) set_cc_for_build sed 's/^ //' << EOF > "$dummy.c" #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && { echo "$SYSTEM_NAME"; exit; } GUESS=unknown-hitachi-hiuxwe2 ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) GUESS=hppa1.1-hp-bsd ;; 9000/8??:4.3bsd:*:*) GUESS=hppa1.0-hp-bsd ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) GUESS=hppa1.0-hp-mpeix ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) GUESS=hppa1.1-hp-osf ;; hp8??:OSF1:*:*) GUESS=hppa1.0-hp-osf ;; i*86:OSF1:*:*) if test -x /usr/sbin/sysversion ; then GUESS=$UNAME_MACHINE-unknown-osf1mk else GUESS=$UNAME_MACHINE-unknown-osf1 fi ;; parisc*:Lites*:*:*) GUESS=hppa1.1-hp-lites ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) GUESS=c1-convex-bsd ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) GUESS=c34-convex-bsd ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) GUESS=c38-convex-bsd ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) GUESS=c4-convex-bsd ;; CRAY*Y-MP:*:*:*) CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` GUESS=ymp-cray-unicos$CRAY_REL ;; CRAY*[A-Z]90:*:*:*) echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` GUESS=t90-cray-unicos$CRAY_REL ;; CRAY*T3E:*:*:*) CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` GUESS=alphaev5-cray-unicosmk$CRAY_REL ;; CRAY*SV1:*:*:*) CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` GUESS=sv1-cray-unicos$CRAY_REL ;; *:UNICOS/mp:*:*) CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` GUESS=craynv-cray-unicosmp$CRAY_REL ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE ;; sparc*:BSD/OS:*:*) GUESS=sparc-unknown-bsdi$UNAME_RELEASE ;; *:BSD/OS:*:*) GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE ;; arm:FreeBSD:*:*) UNAME_PROCESSOR=`uname -p` set_cc_for_build if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi else FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf fi ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` case $UNAME_PROCESSOR in amd64) UNAME_PROCESSOR=x86_64 ;; i386) UNAME_PROCESSOR=i586 ;; esac FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL ;; i*:CYGWIN*:*) GUESS=$UNAME_MACHINE-pc-cygwin ;; *:MINGW64*:*) GUESS=$UNAME_MACHINE-pc-mingw64 ;; *:MINGW*:*) GUESS=$UNAME_MACHINE-pc-mingw32 ;; *:MSYS*:*) GUESS=$UNAME_MACHINE-pc-msys ;; i*:PW*:*) GUESS=$UNAME_MACHINE-pc-pw32 ;; *:SerenityOS:*:*) GUESS=$UNAME_MACHINE-pc-serenity ;; *:Interix*:*) case $UNAME_MACHINE in x86) GUESS=i586-pc-interix$UNAME_RELEASE ;; authenticamd | genuineintel | EM64T) GUESS=x86_64-unknown-interix$UNAME_RELEASE ;; IA64) GUESS=ia64-unknown-interix$UNAME_RELEASE ;; esac ;; i*:UWIN*:*) GUESS=$UNAME_MACHINE-pc-uwin ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) GUESS=x86_64-pc-cygwin ;; prep*:SunOS:5.*:*) SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` GUESS=powerpcle-unknown-solaris2$SUN_REL ;; *:GNU:*:*) # the GNU system GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL ;; *:GNU/*:*:*) # other systems with GNU libc and userland GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC ;; *:Minix:*:*) GUESS=$UNAME_MACHINE-unknown-minix ;; aarch64:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC=gnulibc1 ; fi GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; arm*:Linux:*:*) set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then GUESS=$UNAME_MACHINE-unknown-linux-$LIBC else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi else GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf fi fi ;; avr32*:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; cris:Linux:*:*) GUESS=$UNAME_MACHINE-axis-linux-$LIBC ;; crisv32:Linux:*:*) GUESS=$UNAME_MACHINE-axis-linux-$LIBC ;; e2k:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; frv:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; hexagon:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; i*86:Linux:*:*) GUESS=$UNAME_MACHINE-pc-linux-$LIBC ;; ia64:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; k1om:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; m32r*:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; m68*:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; mips:Linux:*:* | mips64:Linux:*:*) set_cc_for_build IS_GLIBC=0 test x"${LIBC}" = xgnu && IS_GLIBC=1 sed 's/^ //' << EOF > "$dummy.c" #undef CPU #undef mips #undef mipsel #undef mips64 #undef mips64el #if ${IS_GLIBC} && defined(_ABI64) LIBCABI=gnuabi64 #else #if ${IS_GLIBC} && defined(_ABIN32) LIBCABI=gnuabin32 #else LIBCABI=${LIBC} #endif #endif #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 CPU=mipsisa64r6 #else #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 CPU=mipsisa32r6 #else #if defined(__mips64) CPU=mips64 #else CPU=mips #endif #endif #endif #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) MIPS_ENDIAN=el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) MIPS_ENDIAN= #else MIPS_ENDIAN= #endif #endif EOF cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` eval "$cc_set_vars" test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } ;; mips64el:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; openrisc*:Linux:*:*) GUESS=or1k-unknown-linux-$LIBC ;; or32:Linux:*:* | or1k*:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; padre:Linux:*:*) GUESS=sparc-unknown-linux-$LIBC ;; parisc64:Linux:*:* | hppa64:Linux:*:*) GUESS=hppa64-unknown-linux-$LIBC ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; *) GUESS=hppa-unknown-linux-$LIBC ;; esac ;; ppc64:Linux:*:*) GUESS=powerpc64-unknown-linux-$LIBC ;; ppc:Linux:*:*) GUESS=powerpc-unknown-linux-$LIBC ;; ppc64le:Linux:*:*) GUESS=powerpc64le-unknown-linux-$LIBC ;; ppcle:Linux:*:*) GUESS=powerpcle-unknown-linux-$LIBC ;; riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; s390:Linux:*:* | s390x:Linux:*:*) GUESS=$UNAME_MACHINE-ibm-linux-$LIBC ;; sh64*:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; sh*:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; sparc:Linux:*:* | sparc64:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; tile*:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; vax:Linux:*:*) GUESS=$UNAME_MACHINE-dec-linux-$LIBC ;; x86_64:Linux:*:*) set_cc_for_build LIBCABI=$LIBC if test "$CC_FOR_BUILD" != no_compiler_found; then if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_X32 >/dev/null then LIBCABI=${LIBC}x32 fi fi GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI ;; xtensa*:Linux:*:*) GUESS=$UNAME_MACHINE-unknown-linux-$LIBC ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. GUESS=i386-sequent-sysv4 ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. GUESS=$UNAME_MACHINE-pc-os2-emx ;; i*86:XTS-300:*:STOP) GUESS=$UNAME_MACHINE-unknown-stop ;; i*86:atheos:*:*) GUESS=$UNAME_MACHINE-unknown-atheos ;; i*86:syllable:*:*) GUESS=$UNAME_MACHINE-pc-syllable ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) GUESS=i386-unknown-lynxos$UNAME_RELEASE ;; i*86:*DOS:*:*) GUESS=$UNAME_MACHINE-pc-msdosdjgpp ;; i*86:*:4.*:*) UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL else GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL fi ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL else GUESS=$UNAME_MACHINE-pc-sysv32 fi ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configure will decide that # this is a cross-build. GUESS=i586-pc-msdosdjgpp ;; Intel:Mach:3*:*) GUESS=i386-pc-mach3 ;; paragon:*:*:*) GUESS=i860-intel-osf1 ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 fi ;; mini*:CTIX:SYS*5:*) # "miniframe" GUESS=m68010-convergent-sysv ;; mc68k:UNIX:SYSTEM5:3.51m) GUESS=m68k-convergent-sysv ;; M680?0:D-NIX:5.3:*) GUESS=m68k-diab-dnix ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) GUESS=m68k-unknown-lynxos$UNAME_RELEASE ;; mc68030:UNIX_System_V:4.*:*) GUESS=m68k-atari-sysv4 ;; TSUNAMI:LynxOS:2.*:*) GUESS=sparc-unknown-lynxos$UNAME_RELEASE ;; rs6000:LynxOS:2.*:*) GUESS=rs6000-unknown-lynxos$UNAME_RELEASE ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) GUESS=powerpc-unknown-lynxos$UNAME_RELEASE ;; SM[BE]S:UNIX_SV:*:*) GUESS=mips-dde-sysv$UNAME_RELEASE ;; RM*:ReliantUNIX-*:*:*) GUESS=mips-sni-sysv4 ;; RM*:SINIX-*:*:*) GUESS=mips-sni-sysv4 ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` GUESS=$UNAME_MACHINE-sni-sysv4 else GUESS=ns32k-sni-sysv fi ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says GUESS=i586-unisys-sysv4 ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm GUESS=hppa1.1-stratus-sysv4 ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. GUESS=i860-stratus-sysv4 ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. GUESS=$UNAME_MACHINE-stratus-vos ;; *:VOS:*:*) # From Paul.Green@stratus.com. GUESS=hppa1.1-stratus-vos ;; mc68*:A/UX:*:*) GUESS=m68k-apple-aux$UNAME_RELEASE ;; news*:NEWS-OS:6*:*) GUESS=mips-sony-newsos6 ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if test -d /usr/nec; then GUESS=mips-nec-sysv$UNAME_RELEASE else GUESS=mips-unknown-sysv$UNAME_RELEASE fi ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. GUESS=powerpc-be-beos ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. GUESS=powerpc-apple-beos ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. GUESS=i586-pc-beos ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. GUESS=i586-pc-haiku ;; x86_64:Haiku:*:*) GUESS=x86_64-unknown-haiku ;; SX-4:SUPER-UX:*:*) GUESS=sx4-nec-superux$UNAME_RELEASE ;; SX-5:SUPER-UX:*:*) GUESS=sx5-nec-superux$UNAME_RELEASE ;; SX-6:SUPER-UX:*:*) GUESS=sx6-nec-superux$UNAME_RELEASE ;; SX-7:SUPER-UX:*:*) GUESS=sx7-nec-superux$UNAME_RELEASE ;; SX-8:SUPER-UX:*:*) GUESS=sx8-nec-superux$UNAME_RELEASE ;; SX-8R:SUPER-UX:*:*) GUESS=sx8r-nec-superux$UNAME_RELEASE ;; SX-ACE:SUPER-UX:*:*) GUESS=sxace-nec-superux$UNAME_RELEASE ;; Power*:Rhapsody:*:*) GUESS=powerpc-apple-rhapsody$UNAME_RELEASE ;; *:Rhapsody:*:*) GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE ;; arm64:Darwin:*:*) GUESS=aarch64-apple-darwin$UNAME_RELEASE ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` case $UNAME_PROCESSOR in unknown) UNAME_PROCESSOR=powerpc ;; esac if command -v xcode-select > /dev/null 2> /dev/null && \ ! xcode-select --print-path > /dev/null 2> /dev/null ; then # Avoid executing cc if there is no toolchain installed as # cc will be a stub that puts up a graphical alert # prompting the user to install developer tools. CC_FOR_BUILD=no_compiler_found else set_cc_for_build fi if test "$CC_FOR_BUILD" != no_compiler_found; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then case $UNAME_PROCESSOR in i386) UNAME_PROCESSOR=x86_64 ;; powerpc) UNAME_PROCESSOR=powerpc64 ;; esac fi # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_PPC >/dev/null then UNAME_PROCESSOR=powerpc fi elif test "$UNAME_PROCESSOR" = i386 ; then # uname -m returns i386 or x86_64 UNAME_PROCESSOR=$UNAME_MACHINE fi GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = x86; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE ;; *:QNX:*:4*) GUESS=i386-pc-qnx ;; NEO-*:NONSTOP_KERNEL:*:*) GUESS=neo-tandem-nsk$UNAME_RELEASE ;; NSE-*:NONSTOP_KERNEL:*:*) GUESS=nse-tandem-nsk$UNAME_RELEASE ;; NSR-*:NONSTOP_KERNEL:*:*) GUESS=nsr-tandem-nsk$UNAME_RELEASE ;; NSV-*:NONSTOP_KERNEL:*:*) GUESS=nsv-tandem-nsk$UNAME_RELEASE ;; NSX-*:NONSTOP_KERNEL:*:*) GUESS=nsx-tandem-nsk$UNAME_RELEASE ;; *:NonStop-UX:*:*) GUESS=mips-compaq-nonstopux ;; BS2000:POSIX*:*:*) GUESS=bs2000-siemens-sysv ;; DS/*:UNIX_System_V:*:*) GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "${cputype-}" = 386; then UNAME_MACHINE=i386 elif test "x${cputype-}" != x; then UNAME_MACHINE=$cputype fi GUESS=$UNAME_MACHINE-unknown-plan9 ;; *:TOPS-10:*:*) GUESS=pdp10-unknown-tops10 ;; *:TENEX:*:*) GUESS=pdp10-unknown-tenex ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) GUESS=pdp10-dec-tops20 ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) GUESS=pdp10-xkl-tops20 ;; *:TOPS-20:*:*) GUESS=pdp10-unknown-tops20 ;; *:ITS:*:*) GUESS=pdp10-unknown-its ;; SEI:*:*:SEIUX) GUESS=mips-sei-seiux$UNAME_RELEASE ;; *:DragonFly:*:*) DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case $UNAME_MACHINE in A*) GUESS=alpha-dec-vms ;; I*) GUESS=ia64-dec-vms ;; V*) GUESS=vax-dec-vms ;; esac ;; *:XENIX:*:SysV) GUESS=i386-pc-xenix ;; i*86:skyos:*:*) SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL ;; i*86:rdos:*:*) GUESS=$UNAME_MACHINE-pc-rdos ;; i*86:Fiwix:*:*) GUESS=$UNAME_MACHINE-pc-fiwix ;; *:AROS:*:*) GUESS=$UNAME_MACHINE-unknown-aros ;; x86_64:VMkernel:*:*) GUESS=$UNAME_MACHINE-unknown-esx ;; amd64:Isilon\ OneFS:*:*) GUESS=x86_64-unknown-onefs ;; *:Unleashed:*:*) GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE ;; esac # Do we have a guess based on uname results? if test "x$GUESS" != x; then echo "$GUESS" exit fi # No uname command or uname output not recognized. set_cc_for_build cat > "$dummy.c" < #include #endif #if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) #if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) #include #if defined(_SIZE_T_) || defined(SIGLOST) #include #endif #endif #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) #if !defined (ultrix) #include #if defined (BSD) #if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); #else #if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); #else printf ("vax-dec-bsd\n"); exit (0); #endif #endif #else printf ("vax-dec-bsd\n"); exit (0); #endif #else #if defined(_SIZE_T_) || defined(SIGLOST) struct utsname un; uname (&un); printf ("vax-dec-ultrix%s\n", un.release); exit (0); #else printf ("vax-dec-ultrix\n"); exit (0); #endif #endif #endif #if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) #if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) #if defined(_SIZE_T_) || defined(SIGLOST) struct utsname *un; uname (&un); printf ("mips-dec-ultrix%s\n", un.release); exit (0); #else printf ("mips-dec-ultrix\n"); exit (0); #endif #endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } echo "$0: unable to guess system type" >&2 case $UNAME_MACHINE:$UNAME_SYSTEM in mips:Linux | mips64:Linux) # If we got here on MIPS GNU/Linux, output extra information. cat >&2 <&2 <&2 </dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = "$UNAME_MACHINE" UNAME_RELEASE = "$UNAME_RELEASE" UNAME_SYSTEM = "$UNAME_SYSTEM" UNAME_VERSION = "$UNAME_VERSION" EOF fi exit 1 # Local variables: # eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: xmlsec1-1.3.7/ChangeLog0000664000175000017500000000030614752657637013343 0ustar renereneThe changelog file is obsolete, please view the commits log on github: https://github.com/lsh123/xmlsec/commits/master Or News section on XMLSec website: https://www.aleksey.com/xmlsec/news.html xmlsec1-1.3.7/xmlsec.spec.in0000664000175000017500000001265014752657640014344 0ustar renereneSummary: Library providing support for "XML Signature" and "XML Encryption" standards Name: @PACKAGE@ Version: @VERSION@ Release: 1 License: MIT Group: Development/Libraries Vendor: Aleksey Sanin Distribution: Aleksey Sanin Packager: Aleksey Sanin Source: ftp://ftp.aleksey.com/pub/xmlsec/releases/@PACKAGE@-%{version}.tar.gz BuildRoot: %{_tmppath}/@PACKAGE@-%{version}-root URL: http://www.aleksey.com/xmlsec Requires: libxml2 >= @LIBXML_MIN_VERSION@ Requires: libxslt >= @LIBXSLT_MIN_VERSION@ Requires: libtool-ltdl BuildRequires: libxml2-devel >= @LIBXML_MIN_VERSION@ BuildRequires: libxslt-devel >= @LIBXSLT_MIN_VERSION@ Prefix: %{_prefix} Docdir: %{_docdir} %define _unpackaged_files_terminate_build 0 %define _missing_doc_files_terminate_build 0 %description XML Security Library is a C library based on LibXML2 and OpenSSL. The library was created with a goal to support major XML security standards "XML Digital Signature" and "XML Encryption". %package devel Summary: Libraries, includes, etc. to develop applications with XML Digital Signatures and XML Encryption support. Group: Development/Libraries Requires: xmlsec1 = %{version} Requires: libxml2-devel >= @LIBXML_MIN_VERSION@ Requires: libxslt-devel >= @LIBXSLT_MIN_VERSION@ Requires: openssl-devel >= @OPENSSL_MIN_VERSION@ Requires: zlib-devel Requires: libtool-ltdl-devel %description devel Libraries, includes, etc. you can use to develop applications with XML Digital Signatures and XML Encryption support. %package openssl Summary: OpenSSL crypto plugin for XML Security Library Group: Development/Libraries Requires: xmlsec1 = %{version} Requires: libxml2 >= @LIBXML_MIN_VERSION@ Requires: libxslt >= @LIBXSLT_MIN_VERSION@ Requires: openssl >= @OPENSSL_MIN_VERSION@ BuildRequires: openssl-devel >= @OPENSSL_MIN_VERSION@ %description openssl OpenSSL plugin for XML Security Library provides OpenSSL based crypto services for the xmlsec library %package openssl-devel Summary: OpenSSL crypto plugin for XML Security Library Group: Development/Libraries Requires: xmlsec1 = %{version} Requires: xmlsec1-devel = %{version} Requires: xmlsec1-openssl = %{version} Requires: libxml2-devel >= @LIBXML_MIN_VERSION@ Requires: libxslt-devel >= @LIBXSLT_MIN_VERSION@ Requires: openssl >= @OPENSSL_MIN_VERSION@ Requires: openssl-devel >= @OPENSSL_MIN_VERSION@ %description openssl-devel Libraries, includes, etc. for developing XML Security applications with OpenSSL %package nss Summary: NSS crypto plugin for XML Security Library Group: Development/Libraries Requires: xmlsec1 = %{version} Requires: libxml2 >= @LIBXML_MIN_VERSION@ Requires: libxslt >= @LIBXSLT_MIN_VERSION@ Requires: mozilla-nss >= @MOZILLA_MIN_VERSION@ BuildRequires: mozilla-nss-devel >= @MOZILLA_MIN_VERSION@ %description nss NSS plugin for XML Security Library provides NSS based crypto services for the xmlsec library %package nss-devel Summary: NSS crypto plugin for XML Security Library Group: Development/Libraries Requires: xmlsec1 = %{version} Requires: xmlsec1-devel = %{version} Requires: xmlsec1-nss = %{version} Requires: libxml2-devel >= @LIBXML_MIN_VERSION@ Requires: libxslt-devel >= @LIBXSLT_MIN_VERSION@ Requires: mozilla-nss-devel >= @MOZILLA_MIN_VERSION@ %description nss-devel Libraries, includes, etc. for developing XML Security applications with NSS %prep %setup -q %build # Needed for snapshot releases. if [ ! -f configure ]; then %ifarch alpha CFLAGS="$RPM_OPT_FLAGS" ./autogen.sh --host=alpha-redhat-linux --prefix=%prefix --sysconfdir="/etc" --mandir=%{_mandir} %else CFLAGS="$RPM_OPT_FLAGS" ./autogen.sh --prefix=%prefix --sysconfdir="/etc" --mandir=%{_mandir} %endif else %ifarch alpha CFLAGS="$RPM_OPT_FLAGS" ./configure --host=alpha-redhat-linux --prefix=%prefix --sysconfdir="/etc" --mandir=%{_mandir} %else CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%prefix --sysconfdir="/etc" --mandir=%{_mandir} %endif fi if [ "$SMP" != "" ]; then (make "MAKE=make -k -j $SMP"; exit 0) make else make fi %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/usr/bin mkdir -p $RPM_BUILD_ROOT/usr/include/@PACKAGE@ mkdir -p $RPM_BUILD_ROOT/usr/lib mkdir -p $RPM_BUILD_ROOT/usr/man/man1 make prefix=$RPM_BUILD_ROOT%{prefix} mandir=$RPM_BUILD_ROOT%{_mandir} install %clean rm -rf $RPM_BUILD_ROOT %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %defattr(-, root, root) %doc AUTHORS ChangeLog NEWS README Copyright %doc %{_mandir}/man1/xmlsec1.1* %{prefix}/lib/libxmlsec1.so.* %{prefix}/lib/libxmlsec1.so %{prefix}/bin/xmlsec1 %files devel %defattr(-, root, root) %{prefix}/bin/xmlsec1-config %{prefix}/include/xmlsec1/xmlsec/*.h %{prefix}/include/xmlsec1/xmlsec/private/*.h %{prefix}/lib/libxmlsec1.*a %{prefix}/lib/pkgconfig/xmlsec1.pc %{prefix}/lib/xmlsec1Conf.sh %{prefix}/share/doc/xmlsec1/* %{prefix}/share/aclocal/xmlsec1.m4 %doc AUTHORS HACKING ChangeLog NEWS README Copyright %doc %{_mandir}/man1/xmlsec1-config.1* %files openssl %defattr(-, root, root) %{prefix}/lib/libxmlsec1-openssl.so.* %{prefix}/lib/libxmlsec1-openssl.so %files openssl-devel %defattr(-, root, root) %{prefix}/include/xmlsec1/xmlsec/openssl/*.h %{prefix}/lib/libxmlsec1-openssl.*a %{prefix}/lib/pkgconfig/xmlsec1-openssl.pc %files nss %defattr(-, root, root) %{prefix}/lib/libxmlsec1-nss.so.* %{prefix}/lib/libxmlsec1-nss.so %files nss-devel %defattr(-, root, root) %{prefix}/include/xmlsec1/xmlsec/nss/*.h %{prefix}/lib/libxmlsec1-nss.*a %{prefix}/lib/pkgconfig/xmlsec1-nss.pc %changelog xmlsec1-1.3.7/xmlsec.pc.in0000664000175000017500000000056414752657640014015 0ustar renereneprefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ Name: xmlsec1 Version: @VERSION@ Description: XML Security Library implements XML Signature and XML Encryption standards Requires: libxml-2.0 >= @LIBXML_MIN_VERSION@ @LIBXSLT_PC_FILE_COND@ Cflags: -DXMLSEC_CRYPTO_DYNAMIC_LOADING=1 @XMLSEC_CORE_CFLAGS@ Libs: -L${libdir} @XMLSEC_CORE_LIBS@ xmlsec1-1.3.7/xmlsecConf.sh.in0000664000175000017500000000047714752657640014636 0ustar renerene# # Configuration file for using the XML library in GNOME applications # prefix="@prefix@" exec_prefix="@exec_prefix@" libdir="@libdir@" includedir="@includedir@" XMLSEC_LIBDIR="@XMLSEC_LIBDIR@" XMLSEC_INCLUDEDIR="@XMLSEC_CFLAGS@" XMLSEC_LIBS="@XMLSEC_LIBS@" MODULE_VERSION="xmlsec-@VERSION@-@XMLSEC_DEFAULT_CRYPTO@" xmlsec1-1.3.7/win32/0000775000175000017500000000000014752657640012526 5ustar renerenexmlsec1-1.3.7/win32/Makefile.msvc0000775000175000017500000011214614752657640015145 0ustar renerene# Makefile for xmlsec, specific for Windows, MSVC and NMAKE. # # Take a look at the beginning and modify the variables to suit your # environment. Having done that, you can do a # # nmake [all] to build the xmlsec and the accompanying utilities. # nmake clean to remove all compiler output files and return to a # clean state. # nmake rebuild to rebuild everything from scratch. This basically does # a 'nmake clean' and then a 'nmake all'. # nmake install to install the library and its header files. # # March 2002, Igor Zlatkovic # Created for LibXML and LibXSLT # April 2002, Aleksey Sanin # Modified for XMLSec Libary # AUTOCONF = .\configure.txt # If you cannot run the configuration script, which would take the burden of # editing this file from your back, then remove the following line... !include $(AUTOCONF) # ...and enable the following lines and adapt them to your environment. #BASEDIR = .. #XMLSEC_SRCDIR = $(BASEDIR)\src #APPS_SRCDIR = $(BASEDIR)\apps #BINDIR = binaries #XMLSEC_MAJOR_VERSION = 0 # set this to the right value. #XMLSEC_MINOR_VERSION = 0 # set this to the right value. #XMLSEC_MICRO_VERSION = 0 # set this to the right value. #WITH_XMLSEC_DEBUG = 1 #UNICODE = 1 #DEBUG = 0 #MEMCHECK = 0 #WITH_CRYPTO=openssl #WITH_DEFAULT_CRYPTO=openssl #WITH_OPENSSL=1 #WITH_OPENSSL_VERSION= #WITH_OPENSSL3_ENGINES=0 #WITH_NSS=0 #WITH_MSCRYPTO=0 #WITH_MSCNG=0 #WITH_LIBXSLT=1 #STATIC = 0 #WITH_DL = 1 #WERROR = 0 #PEDANTIC = 1 #PREFIX = . # set this to the right value. #BINPREFIX = $(PREFIX)\bin #INCPREFIX = $(PREFIX)\include #LIBPREFIX = $(PREFIX)\lib #SOPREFIX = $(PREFIX)\bin #INCLUDE = $(INCLUDE);$(INCPREFIX) #LIB = $(LIB);$(LIBPREFIX) # There should never be a need to modify anything below this line. # ---------------------------------------------------------------- # # Names of various input and output components. # !if "$(WITH_DL)" == "1" APP_NAME = xmlsec.exe !else APP_NAME = xmlseca.exe !endif APP_NAME_MANIFEST = $(APP_NAME).manifest XMLSEC_NAME = xmlsec XMLSEC_BASENAME = lib$(XMLSEC_NAME) XMLSEC_SO = $(XMLSEC_BASENAME).dll XMLSEC_SO_MANIFEST = $(XMLSEC_BASENAME).dll.manifest XMLSEC_PDB = $(XMLSEC_BASENAME).pdb XMLSEC_IMP = $(XMLSEC_BASENAME).lib XMLSEC_A = $(XMLSEC_BASENAME)_a.lib XMLSEC_OPENSSL_NAME = $(XMLSEC_NAME)-openssl XMLSEC_OPENSSL_BASENAME = lib$(XMLSEC_OPENSSL_NAME) XMLSEC_OPENSSL_SO = $(XMLSEC_OPENSSL_BASENAME).dll XMLSEC_OPENSSL_SO_MANIFEST = $(XMLSEC_OPENSSL_BASENAME).dll.manifest XMLSEC_OPENSSL_PDB = $(XMLSEC_OPENSSL_BASENAME).pdb XMLSEC_OPENSSL_IMP = $(XMLSEC_OPENSSL_BASENAME).lib XMLSEC_OPENSSL_A = $(XMLSEC_OPENSSL_BASENAME)_a.lib XMLSEC_NSS_NAME = $(XMLSEC_NAME)-nss XMLSEC_NSS_BASENAME = lib$(XMLSEC_NSS_NAME) XMLSEC_NSS_SO = $(XMLSEC_NSS_BASENAME).dll XMLSEC_NSS_SO_MANIFEST = $(XMLSEC_NSS_BASENAME).dll.manifest XMLSEC_NSS_PDB = $(XMLSEC_NSS_BASENAME).pdb XMLSEC_NSS_IMP = $(XMLSEC_NSS_BASENAME).lib XMLSEC_NSS_A = $(XMLSEC_NSS_BASENAME)_a.lib XMLSEC_MSCRYPTO_NAME = $(XMLSEC_NAME)-mscrypto XMLSEC_MSCRYPTO_BASENAME= lib$(XMLSEC_MSCRYPTO_NAME) XMLSEC_MSCRYPTO_SO = $(XMLSEC_MSCRYPTO_BASENAME).dll XMLSEC_MSCRYPTO_SO_MANIFEST = $(XMLSEC_MSCRYPTO_BASENAME).dll.manifest XMLSEC_MSCRYPTO_PDB = $(XMLSEC_MSCRYPTO_BASENAME).pdb XMLSEC_MSCRYPTO_IMP = $(XMLSEC_MSCRYPTO_BASENAME).lib XMLSEC_MSCRYPTO_A = $(XMLSEC_MSCRYPTO_BASENAME)_a.lib XMLSEC_MSCNG_NAME = $(XMLSEC_NAME)-mscng XMLSEC_MSCNG_BASENAME= lib$(XMLSEC_MSCNG_NAME) XMLSEC_MSCNG_SO = $(XMLSEC_MSCNG_BASENAME).dll XMLSEC_MSCNG_SO_MANIFEST = $(XMLSEC_MSCNG_BASENAME).dll.manifest XMLSEC_MSCNG_PDB = $(XMLSEC_MSCNG_BASENAME).pdb XMLSEC_MSCNG_IMP = $(XMLSEC_MSCNG_BASENAME).lib XMLSEC_MSCNG_A = $(XMLSEC_MSCNG_BASENAME)_a.lib # # Places where intermediate files produced by the compiler go # XMLSEC_APPS_INTDIR = apps.int XMLSEC_APPS_INTDIR_A = apps_a.int XMLSEC_INTDIR = $(XMLSEC_BASENAME).int XMLSEC_INTDIR_A = $(XMLSEC_BASENAME)_a.int XMLSEC_OPENSSL_INTDIR = $(XMLSEC_BASENAME)_openssl.int XMLSEC_OPENSSL_INTDIR_A = $(XMLSEC_BASENAME)_openssl_a.int XMLSEC_NSS_INTDIR = $(XMLSEC_BASENAME)_nss.int XMLSEC_NSS_INTDIR_A = $(XMLSEC_BASENAME)_nss_a.int XMLSEC_MSCRYPTO_INTDIR = $(XMLSEC_BASENAME)_mscrypto.int XMLSEC_MSCRYPTO_INTDIR_A= $(XMLSEC_BASENAME)_mscrypto_a.int XMLSEC_MSCNG_INTDIR = $(XMLSEC_BASENAME)_mscng.int XMLSEC_MSCNG_INTDIR_A= $(XMLSEC_BASENAME)_mscng_a.int # # Source folders # XMLSEC_OPENSSL_SRCDIR = $(XMLSEC_SRCDIR)\openssl XMLSEC_NSS_SRCDIR = $(XMLSEC_SRCDIR)\nss XMLSEC_MSCRYPTO_SRCDIR = $(XMLSEC_SRCDIR)\mscrypto XMLSEC_MSCNG_SRCDIR = $(XMLSEC_SRCDIR)\mscng # # Object files for libraries and apps. # XMLSEC_APPS_OBJS = \ $(XMLSEC_APPS_INTDIR)\crypto.obj\ $(XMLSEC_APPS_INTDIR)\cmdline.obj\ $(XMLSEC_APPS_INTDIR)\xmlsec.obj XMLSEC_APPS_OBJS_A = \ $(XMLSEC_APPS_INTDIR_A)\crypto.obj\ $(XMLSEC_APPS_INTDIR_A)\cmdline.obj\ $(XMLSEC_APPS_INTDIR_A)\xmlsec.obj XMLSEC_OBJS = \ $(XMLSEC_INTDIR)\app.obj\ $(XMLSEC_INTDIR)\base64.obj\ $(XMLSEC_INTDIR)\bn.obj\ $(XMLSEC_INTDIR)\buffer.obj \ $(XMLSEC_INTDIR)\c14n.obj \ $(XMLSEC_INTDIR)\dl.obj \ $(XMLSEC_INTDIR)\enveloped.obj \ $(XMLSEC_INTDIR)\errors.obj \ $(XMLSEC_INTDIR)\io.obj \ $(XMLSEC_INTDIR)\keyinfo.obj \ $(XMLSEC_INTDIR)\keys.obj \ $(XMLSEC_INTDIR)\keysdata.obj \ $(XMLSEC_INTDIR)\keysmngr.obj \ $(XMLSEC_INTDIR)\kw_aes_des.obj \ $(XMLSEC_INTDIR)\list.obj \ $(XMLSEC_INTDIR)\membuf.obj \ $(XMLSEC_INTDIR)\nodeset.obj \ $(XMLSEC_INTDIR)\parser.obj \ $(XMLSEC_INTDIR)\relationship.obj \ $(XMLSEC_INTDIR)\strings.obj \ $(XMLSEC_INTDIR)\templates.obj \ $(XMLSEC_INTDIR)\transforms.obj \ $(XMLSEC_INTDIR)\xmldsig.obj \ $(XMLSEC_INTDIR)\xmlenc.obj \ $(XMLSEC_INTDIR)\xmlsec.obj \ $(XMLSEC_INTDIR)\xmltree.obj \ $(XMLSEC_INTDIR)\xpath.obj \ $(XMLSEC_INTDIR)\xslt.obj XMLSEC_OBJS_A = \ $(XMLSEC_INTDIR_A)\app.obj\ $(XMLSEC_INTDIR_A)\base64.obj\ $(XMLSEC_INTDIR_A)\bn.obj\ $(XMLSEC_INTDIR_A)\buffer.obj \ $(XMLSEC_INTDIR_A)\c14n.obj \ $(XMLSEC_INTDIR_A)\dl.obj \ $(XMLSEC_INTDIR_A)\enveloped.obj \ $(XMLSEC_INTDIR_A)\errors.obj \ $(XMLSEC_INTDIR_A)\io.obj \ $(XMLSEC_INTDIR_A)\keyinfo.obj \ $(XMLSEC_INTDIR_A)\keys.obj \ $(XMLSEC_INTDIR_A)\keysdata.obj \ $(XMLSEC_INTDIR_A)\keysmngr.obj \ $(XMLSEC_INTDIR_A)\kw_aes_des.obj \ $(XMLSEC_INTDIR_A)\list.obj \ $(XMLSEC_INTDIR_A)\membuf.obj \ $(XMLSEC_INTDIR_A)\nodeset.obj \ $(XMLSEC_INTDIR_A)\parser.obj \ $(XMLSEC_INTDIR_A)\relationship.obj \ $(XMLSEC_INTDIR_A)\strings.obj \ $(XMLSEC_INTDIR_A)\templates.obj \ $(XMLSEC_INTDIR_A)\transforms.obj \ $(XMLSEC_INTDIR_A)\xmldsig.obj \ $(XMLSEC_INTDIR_A)\xmlenc.obj \ $(XMLSEC_INTDIR_A)\xmlsec.obj \ $(XMLSEC_INTDIR_A)\xmltree.obj \ $(XMLSEC_INTDIR_A)\xpath.obj \ $(XMLSEC_INTDIR_A)\xslt.obj XMLSEC_OPENSSL_OBJS = \ $(XMLSEC_OPENSSL_INTDIR)\app.obj\ $(XMLSEC_OPENSSL_INTDIR)\ciphers.obj \ $(XMLSEC_OPENSSL_INTDIR)\crypto.obj \ $(XMLSEC_OPENSSL_INTDIR)\digests.obj \ $(XMLSEC_OPENSSL_INTDIR)\evp.obj \ $(XMLSEC_OPENSSL_INTDIR)\hmac.obj \ $(XMLSEC_OPENSSL_INTDIR)\kdf.obj \ $(XMLSEC_OPENSSL_INTDIR)\key_agrmnt.obj \ $(XMLSEC_OPENSSL_INTDIR)\keysstore.obj \ $(XMLSEC_OPENSSL_INTDIR)\kt_rsa.obj \ $(XMLSEC_OPENSSL_INTDIR)\kw_aes.obj \ $(XMLSEC_OPENSSL_INTDIR)\kw_des.obj \ $(XMLSEC_OPENSSL_INTDIR)\signatures.obj \ $(XMLSEC_OPENSSL_INTDIR)\signatures_legacy.obj \ $(XMLSEC_OPENSSL_INTDIR)\strings.obj \ $(XMLSEC_OPENSSL_INTDIR)\symkeys.obj \ $(XMLSEC_OPENSSL_INTDIR)\x509.obj \ $(XMLSEC_OPENSSL_INTDIR)\x509vfy.obj XMLSEC_OPENSSL_OBJS_A = \ $(XMLSEC_OPENSSL_INTDIR_A)\app.obj\ $(XMLSEC_OPENSSL_INTDIR_A)\ciphers.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\crypto.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\digests.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\evp.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\hmac.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\kdf.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\key_agrmnt.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\keysstore.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\kt_rsa.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\kw_aes.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\kw_des.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\signatures.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\signatures_legacy.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\strings.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\symkeys.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\x509.obj \ $(XMLSEC_OPENSSL_INTDIR_A)\x509vfy.obj XMLSEC_NSS_OBJS = \ $(XMLSEC_NSS_INTDIR)\app.obj \ $(XMLSEC_NSS_INTDIR)\ciphers.obj \ $(XMLSEC_NSS_INTDIR)\crypto.obj \ $(XMLSEC_NSS_INTDIR)\digests.obj \ $(XMLSEC_NSS_INTDIR)\hmac.obj \ $(XMLSEC_NSS_INTDIR)\keysstore.obj \ $(XMLSEC_NSS_INTDIR)\keytrans.obj \ $(XMLSEC_NSS_INTDIR)\kw_des.obj \ $(XMLSEC_NSS_INTDIR)\kw_aes.obj \ $(XMLSEC_NSS_INTDIR)\pbkdf2.obj \ $(XMLSEC_NSS_INTDIR)\pkikeys.obj \ $(XMLSEC_NSS_INTDIR)\signatures.obj \ $(XMLSEC_NSS_INTDIR)\strings.obj \ $(XMLSEC_NSS_INTDIR)\symkeys.obj \ $(XMLSEC_NSS_INTDIR)\x509.obj \ $(XMLSEC_NSS_INTDIR)\x509vfy.obj XMLSEC_NSS_OBJS_A = \ $(XMLSEC_NSS_INTDIR_A)\app.obj \ $(XMLSEC_NSS_INTDIR_A)\ciphers.obj \ $(XMLSEC_NSS_INTDIR_A)\crypto.obj \ $(XMLSEC_NSS_INTDIR_A)\digests.obj \ $(XMLSEC_NSS_INTDIR_A)\hmac.obj \ $(XMLSEC_NSS_INTDIR_A)\keysstore.obj \ $(XMLSEC_NSS_INTDIR_A)\kt_rsa.obj \ $(XMLSEC_NSS_INTDIR_A)\kw_des.obj \ $(XMLSEC_NSS_INTDIR_A)\kw_aes.obj \ $(XMLSEC_NSS_INTDIR_A)\pbkdf2.obj \ $(XMLSEC_NSS_INTDIR_A)\pkikeys.obj \ $(XMLSEC_NSS_INTDIR_A)\strings.obj \ $(XMLSEC_NSS_INTDIR_A)\signatures.obj \ $(XMLSEC_NSS_INTDIR_A)\symkeys.obj \ $(XMLSEC_NSS_INTDIR_A)\x509.obj \ $(XMLSEC_NSS_INTDIR_A)\x509vfy.obj XMLSEC_MSCRYPTO_OBJS = \ $(XMLSEC_MSCRYPTO_INTDIR)\app.obj\ $(XMLSEC_MSCRYPTO_INTDIR)\crypto.obj \ $(XMLSEC_MSCRYPTO_INTDIR)\ciphers.obj \ $(XMLSEC_MSCRYPTO_INTDIR)\digests.obj \ $(XMLSEC_MSCRYPTO_INTDIR)\hmac.obj \ $(XMLSEC_MSCRYPTO_INTDIR)\symkeys.obj \ $(XMLSEC_MSCRYPTO_INTDIR)\kt_rsa.obj \ $(XMLSEC_MSCRYPTO_INTDIR)\kw_aes.obj \ $(XMLSEC_MSCRYPTO_INTDIR)\kw_des.obj \ $(XMLSEC_MSCRYPTO_INTDIR)\strings.obj \ $(XMLSEC_MSCRYPTO_INTDIR)\signatures.obj \ $(XMLSEC_MSCRYPTO_INTDIR)\certkeys.obj \ $(XMLSEC_MSCRYPTO_INTDIR)\keysstore.obj \ $(XMLSEC_MSCRYPTO_INTDIR)\x509.obj \ $(XMLSEC_MSCRYPTO_INTDIR)\x509vfy.obj XMLSEC_MSCRYPTO_OBJS_A = \ $(XMLSEC_MSCRYPTO_INTDIR_A)\app.obj\ $(XMLSEC_MSCRYPTO_INTDIR_A)\crypto.obj \ $(XMLSEC_MSCRYPTO_INTDIR_A)\ciphers.obj \ $(XMLSEC_MSCRYPTO_INTDIR_A)\digests.obj \ $(XMLSEC_MSCRYPTO_INTDIR_A)\hmac.obj \ $(XMLSEC_MSCRYPTO_INTDIR_A)\symkeys.obj \ $(XMLSEC_MSCRYPTO_INTDIR_A)\kt_rsa.obj \ $(XMLSEC_MSCRYPTO_INTDIR_A)\kw_aes.obj \ $(XMLSEC_MSCRYPTO_INTDIR_A)\kw_des.obj \ $(XMLSEC_MSCRYPTO_INTDIR_A)\strings.obj \ $(XMLSEC_MSCRYPTO_INTDIR_A)\signatures.obj \ $(XMLSEC_MSCRYPTO_INTDIR_A)\certkeys.obj \ $(XMLSEC_MSCRYPTO_INTDIR_A)\keysstore.obj \ $(XMLSEC_MSCRYPTO_INTDIR_A)\x509.obj \ $(XMLSEC_MSCRYPTO_INTDIR_A)\x509vfy.obj XMLSEC_MSCNG_OBJS = \ $(XMLSEC_MSCNG_INTDIR)\app.obj\ $(XMLSEC_MSCNG_INTDIR)\certkeys.obj \ $(XMLSEC_MSCNG_INTDIR)\ciphers_cbc.obj \ $(XMLSEC_MSCNG_INTDIR)\ciphers_gcm.obj \ $(XMLSEC_MSCNG_INTDIR)\concatkdf.obj \ $(XMLSEC_MSCNG_INTDIR)\crypto.obj\ $(XMLSEC_MSCNG_INTDIR)\digests.obj\ $(XMLSEC_MSCNG_INTDIR)\hmac.obj \ $(XMLSEC_MSCNG_INTDIR)\symkeys.obj \ $(XMLSEC_MSCNG_INTDIR)\key_agrmnt.obj \ $(XMLSEC_MSCNG_INTDIR)\keysstore.obj \ $(XMLSEC_MSCNG_INTDIR)\kt_rsa.obj \ $(XMLSEC_MSCNG_INTDIR)\kw_aes.obj \ $(XMLSEC_MSCNG_INTDIR)\kw_des.obj \ $(XMLSEC_MSCNG_INTDIR)\pbkdf2.obj \ $(XMLSEC_MSCNG_INTDIR)\strings.obj\ $(XMLSEC_MSCNG_INTDIR)\signatures.obj\ $(XMLSEC_MSCNG_INTDIR)\x509.obj\ $(XMLSEC_MSCNG_INTDIR)\x509vfy.obj XMLSEC_MSCNG_OBJS_A = \ $(XMLSEC_MSCNG_INTDIR_A)\app.obj\ $(XMLSEC_MSCNG_INTDIR_A)\certkeys.obj \ $(XMLSEC_MSCNG_INTDIR_A)\ciphers_cbc.obj \ $(XMLSEC_MSCNG_INTDIR_A)\ciphers_gcm.obj \ $(XMLSEC_MSCNG_INTDIR_A)\concatkdf.obj \ $(XMLSEC_MSCNG_INTDIR_A)\crypto.obj\ $(XMLSEC_MSCNG_INTDIR_A)\digests.obj\ $(XMLSEC_MSCNG_INTDIR_A)\hmac.obj \ $(XMLSEC_MSCNG_INTDIR_A)\symkeys.obj \ $(XMLSEC_MSCNG_INTDIR_A)\key_agrmnt.obj \ $(XMLSEC_MSCNG_INTDIR_A)\keysstore.obj \ $(XMLSEC_MSCNG_INTDIR_A)\kt_rsa.obj \ $(XMLSEC_MSCNG_INTDIR_A)\kw_aes.obj \ $(XMLSEC_MSCNG_INTDIR_A)\kw_des.obj \ $(XMLSEC_MSCNG_INTDIR_A)\pbkdf2.obj \ $(XMLSEC_MSCNG_INTDIR_A)\strings.obj\ $(XMLSEC_MSCNG_INTDIR_A)\signatures.obj\ $(XMLSEC_MSCNG_INTDIR_A)\x509.obj\ $(XMLSEC_MSCNG_INTDIR_A)\x509vfy.obj # # The preprocessor and its options. # CPP = cl.exe /EP CPPFLAGS = /nologo # # The compiler and its options. # CFLAGS = $(CFLAGS) /nologo /D "WIN32" /D "_WINDOWS" /D inline=__inline CFLAGS = $(CFLAGS) /D "_MBCS" /D "_REENTRANT" CFLAGS = $(CFLAGS) /D PACKAGE=\"$(XMLSEC_NAME)\" CFLAGS = $(CFLAGS) /D "HAVE_STDIO_H" /D "HAVE_STDLIB_H" CFLAGS = $(CFLAGS) /D "HAVE_STRING_H" /D "HAVE_CTYPE_H" CFLAGS = $(CFLAGS) /D "HAVE_MALLOC_H" /D "HAVE_MEMORY_H" CFLAGS = $(CFLAGS) /D "WIN32_LEAN_AND_MEAN" CFLAGS = $(CFLAGS) /I$(BASEDIR) /I$(BASEDIR)\include CFLAGS = $(CFLAGS) /I$(INCPREFIX) !if "$(WITH_GOST)" == "1" CFLAGS = $(CFLAGS) !else CFLAGS = $(CFLAGS) /D "XMLSEC_NO_GOST" /D "XMLSEC_NO_GOST2012" !endif !if "$(WITH_RSA_PKCS15)" == "1" CFLAGS = $(CFLAGS) !else CFLAGS = $(CFLAGS) /D "XMLSEC_NO_RSA_PKCS15" !endif !if "$(WITH_LEGACY_FEATURES)" == "1" CFLAGS = $(CFLAGS) !else CFLAGS = $(CFLAGS) /D "XMLSEC_NO_MD5" /D "XMLSEC_NO_RIPEMD160" !endif !if "$(WITH_FTP)" == "1" CFLAGS = $(CFLAGS) !else CFLAGS = $(CFLAGS) /D "XMLSEC_NO_FTP" !endif !if "$(WITH_HTTP)" == "1" CFLAGS = $(CFLAGS) !else CFLAGS = $(CFLAGS) /D "XMLSEC_NO_HTTP" !endif !if "$(PEDANTIC)" == "1" CFLAGS = $(CFLAGS) /W4 !else CFLAGS = $(CFLAGS) /W1 !endif # C4127: conditional expression is constant # this generates a false warning inside asserts # C4130: '!=': logical operation on address of string constant: # this generates a false warning inside macros # C4152: nonstandard extension, function/data pointer conversion in expression # this generates a false warning for XMLSEC_PTR_TO_FUNC # C4232: nonstandard extension, address of dllimport is not static # this generates a false warning for functions used in structs CFLAGS = $(CFLAGS) /wd4127 /wd4130 /wd4152 /wd4232 !if "$(WERROR)" == "1" CFLAGS = $(CFLAGS) /WX !endif !if "$(UNICODE)" == "1" CFLAGS = $(CFLAGS) /D "UNICODE" /D "_UNICODE" !endif # Optimisation and debug symbols. !if "$(DEBUG)" == "1" CFLAGS = $(CFLAGS) /D "_DEBUG" /Od /Zi !else CFLAGS = $(CFLAGS) /D "NDEBUG" /O2 /Zi !endif # Enable memcheck. !if "$(MEMCHECK)" == "1" # CFLAGS = $(CFLAGS) /D "_CRTDBG_MAP_ALLOC" !endif CFLAGS = $(CFLAGS) $(CRUNTIME) # configurable options !if "$(WITH_LIBXSLT)" == "1" !else CFLAGS = $(CFLAGS) /DXMLSEC_NO_XSLT=1 !endif CFLAGS = $(CFLAGS) /D "XMLSEC_DEFAULT_CRYPTO=\"$(XMLSEC_DEFAULT_CRYPTO)\"" !if "$(WITH_DL)" == "1" CFLAGS = $(CFLAGS) /D "XMLSEC_DL_WIN32" APP_CFLAGS = $(APP_CFLAGS) /D "XMLSEC_CRYPTO_DYNAMIC_LOADING" !else CFLAGS = $(CFLAGS) /D "XMLSEC_NO_CRYPTO_DYNAMIC_LOADING" APP_CFLAGS = $(APP_CFLAGS) $(XMLSEC_CRYPTO_CFLAGS) # this disables TEMPLATE tests and helps with missing algorithms (hmac) in mscrypto APP_CFLAGS = $(APP_CFLAGS) /D "XMLSEC_NO_TMPL_TEST" !endif XMLSEC_OPENSSL_CFLAGS = /D "XMLSEC_CRYPTO_OPENSSL" /D "XMLSEC_DEFAULT_CRYPTO=\"openssl\"" XMLSEC_NSS_CFLAGS = /D "XMLSEC_CRYPTO_NSS" /D "XMLSEC_DEFAULT_CRYPTO=\"nss\"" XMLSEC_MSCRYPTO_CFLAGS = /D "XMLSEC_CRYPTO_MSCRYPTO" /D "XMLSEC_DEFAULT_CRYPTO=\"mscrypto\"" XMLSEC_MSCNG_CFLAGS = /D "XMLSEC_CRYPTO_MSCNG" /D "XMLSEC_DEFAULT_CRYPTO=\"mscng\"" # Crytpo options !if "$(WITH_OPENSSL_VERSION)" == "XMLSEC_OPENSSL_300" !if "$(WITH_OPENSSL3_ENGINES)" == "1" XMLSEC_OPENSSL_CFLAGS = $(XMLSEC_OPENSSL_CFLAGS) /D "XMLSEC_OPENSSL3_ENGINES=1" !endif !endif # # The linker and its options. # LD = link.exe LDFLAGS = /nologo /debug LDFLAGS = $(LDFLAGS) /LIBPATH:$(BINDIR) /LIBPATH:$(LIBPREFIX) LIBS = # Optimisation and debug symbols. !if "$(DEBUG)" == "1" LDFLAGS = $(LDFLAGS) /DEBUG /OPT:ICF !else LDFLAGS = $(LDFLAGS) /OPT:REF,ICF !endif !if "$(PEDANTIC)" == "1" LDFLAGS = $(LDFLAGS) /WX !endif SOLIBS = $(LIBS) libxml2.lib bcrypt.lib ws2_32.lib ALIBS = $(LIBS) libxml2_a.lib bcrypt.lib ws2_32.lib !if "$(WITH_ICONV)" == "1" CFLAGS = $(CFLAGS) /D "LIBXML_ICONV_ENABLED" SOLIBS = $(SOLIBS) iconv.lib ALIBS = $(ALIBS) iconv_a.lib !endif !if "$(WITH_LIBXSLT)" == "1" SOLIBS = $(SOLIBS) libxslt.lib ALIBS = $(ALIBS) libxslt_a.lib !endif !if "$(WITH_DL)" == "1" APP_LIBS = $(SOLIBS) $(XMLSEC_CRYPTO_SOLIBS) !else APP_LIBS = $(ALIBS) $(XMLSEC_CRYPTO_ALIBS) !endif XMLSEC_OPENSSL_SOLIBS = libcrypto.lib wsock32.lib kernel32.lib user32.lib gdi32.lib crypt32.lib advapi32.lib ws2_32.lib XMLSEC_OPENSSL_ALIBS = libcrypto.lib wsock32.lib kernel32.lib user32.lib gdi32.lib crypt32.lib advapi32.lib ws2_32.lib !if "$(WITH_OPENSSL_VERSION)" == "XMLSEC_OPENSSL_300" !elseif "$(WITH_OPENSSL_VERSION)" == "XMLSEC_OPENSSL_111" !endif XMLSEC_NSS_SOLIBS = smime3.lib ssl3.lib nss3.lib libnspr4.lib libplds4.lib libplc4.lib kernel32.lib user32.lib gdi32.lib XMLSEC_NSS_ALIBS = smime3.lib ssl3.lib nss3.lib libnspr4_s.lib libplds4_s.lib libplc4_s.lib kernel32.lib user32.lib gdi32.lib XMLSEC_MSCRYPTO_SOLIBS = kernel32.lib user32.lib gdi32.lib Crypt32.lib Advapi32.lib XMLSEC_MSCRYPTO_ALIBS = kernel32.lib user32.lib gdi32.lib Crypt32.lib Advapi32.lib XMLSEC_MSCNG_SOLIBS = kernel32.lib user32.lib gdi32.lib Crypt32.lib Advapi32.lib Bcrypt.lib Ncrypt.lib XMLSEC_MSCNG_ALIBS = kernel32.lib user32.lib gdi32.lib Crypt32.lib Advapi32.lib Bcrypt.lib Ncrypt.lib # The archiver and its options. AR = link.exe /lib ARFLAGS = /nologo !if "$(PEDANTIC)" == "1" ARFLAGS = $(ARFLAGS) /WX !endif # # xmlsec- options # !if "$(WITH_DEFAULT_CRYPTO)" == "openssl" XMLSEC_DEFAULT_CRYPTO = "openssl" XMLSEC_DEFAULT_CRYPTO_A = "openssla" XMLSEC_CRYPTO_CFLAGS = $(XMLSEC_OPENSSL_CFLAGS) XMLSEC_CRYPTO_SOLIBS = $(XMLSEC_OPENSSL_SOLIBS) XMLSEC_CRYPTO_ALIBS = $(XMLSEC_OPENSSL_ALIBS) XMLSEC_CRYPTO_SO = $(XMLSEC_OPENSSL_SO) XMLSEC_CRYPTO_IMP = $(XMLSEC_OPENSSL_IMP) XMLSEC_CRYPTO_A = $(XMLSEC_OPENSSL_A) !endif !if "$(WITH_DEFAULT_CRYPTO)" == "nss" XMLSEC_DEFAULT_CRYPTO = "nss" XMLSEC_DEFAULT_CRYPTO_A = "nssa" XMLSEC_CRYPTO_CFLAGS = $(XMLSEC_NSS_CFLAGS) XMLSEC_CRYPTO_SOLIBS = $(XMLSEC_NSS_SOLIBS) XMLSEC_CRYPTO_ALIBS = $(XMLSEC_NSS_ALIBS) XMLSEC_CRYPTO_SO = $(XMLSEC_NSS_SO) XMLSEC_CRYPTO_IMP = $(XMLSEC_NSS_IMP) XMLSEC_CRYPTO_A = $(XMLSEC_NSS_A) !endif !if "$(WITH_DEFAULT_CRYPTO)" == "mscrypto" XMLSEC_DEFAULT_CRYPTO = "mscrypto" XMLSEC_DEFAULT_CRYPTO_A = "mscryptoa" XMLSEC_CRYPTO_CFLAGS = $(XMLSEC_MSCRYPTO_CFLAGS) XMLSEC_CRYPTO_SOLIBS = $(XMLSEC_MSCRYPTO_SOLIBS) XMLSEC_CRYPTO_ALIBS = $(XMLSEC_MSCRYPTO_ALIBS) XMLSEC_CRYPTO_SO = $(XMLSEC_MSCRYPTO_SO) XMLSEC_CRYPTO_IMP = $(XMLSEC_MSCRYPTO_IMP) XMLSEC_CRYPTO_A = $(XMLSEC_MSCRYPTO_A) !endif !if "$(WITH_DEFAULT_CRYPTO)" == "mscng" XMLSEC_DEFAULT_CRYPTO = "mscng" XMLSEC_DEFAULT_CRYPTO_A = "mscnga" XMLSEC_CRYPTO_CFLAGS = $(XMLSEC_MSCNG_CFLAGS) XMLSEC_CRYPTO_SOLIBS = $(XMLSEC_MSCNG_SOLIBS) XMLSEC_CRYPTO_ALIBS = $(XMLSEC_MSCNG_ALIBS) XMLSEC_CRYPTO_SO = $(XMLSEC_MSCNG_SO) XMLSEC_CRYPTO_IMP = $(XMLSEC_MSCNG_IMP) XMLSEC_CRYPTO_A = $(XMLSEC_MSCNG_A) !endif !if "$(WITH_OPENSSL_VERSION)" == "XMLSEC_OPENSSL_300" XMLSEC_OPENSSL_TEST_CONFIG = openssl3.cnf !else XMLSEC_OPENSSL_TEST_CONFIG = !endif !if "$(STATIC)" == "1" EXTRA_ALL_TARGETS=xmlseca EXTRA_OPENSSL_TARGETS=openssla EXTRA_NSS_TARGETS=nssa EXTRA_MSCNG_TARGETS=mscnga EXTRA_MSCRYPTO_TARGETS=mscryptoa !else EXTRA_ALL_TARGETS= EXTRA_OPENSSL_TARGETS= EXTRA_NSS_TARGETS= EXTRA_MSCNG_TARGETS= EXTRA_MSCRYPTO_TARGETS= !endif EXTRA_CRYPTO_TARGETS = !if "$(WITH_OPENSSL)" == "1" EXTRA_CRYPTO_TARGETS = $(EXTRA_CRYPTO_TARGETS) openssl $(EXTRA_OPENSSL_TARGETS) !endif !if "$(WITH_NSS)" == "1" EXTRA_CRYPTO_TARGETS = $(EXTRA_CRYPTO_TARGETS) nss $(EXTRA_NSS_TARGETS) !endif !if "$(WITH_MSCNG)" == "1" EXTRA_CRYPTO_TARGETS = $(EXTRA_CRYPTO_TARGETS) mscng $(EXTRA_MSCNG_TARGETS) !endif !if "$(WITH_MSCRYPTO)" == "1" EXTRA_CRYPTO_TARGETS = $(EXTRA_CRYPTO_TARGETS) mscrypto $(EXTRA_MSCRYPTO_TARGETS) !endif # # Build rules # all: apps $(EXTRA_ALL_TARGETS) $(EXTRA_CRYPTO_TARGETS) apps: $(BINDIR)\$(APP_NAME) xmlseca: $(XMLSEC_APPS_INTDIR_A) $(BINDIR)\$(XMLSEC_A) $(XMLSEC_DEFAULT_CRYPTO_A) xmlsec: $(XMLSEC_APPS_INTDIR) $(BINDIR)\$(XMLSEC_SO) $(XMLSEC_DEFAULT_CRYPTO) openssla: $(BINDIR)\$(XMLSEC_OPENSSL_A) openssl: $(BINDIR)\$(XMLSEC_OPENSSL_SO) $(EXTRA_OPENSSL_TARGETS) nssa: $(BINDIR)\$(XMLSEC_NSS_A) nss: $(BINDIR)\$(XMLSEC_NSS_SO) $(EXTRA_NSS_TARGETS) mscryptoa: $(BINDIR)\$(XMLSEC_MSCRYPTO_A) mscrypto: $(BINDIR)\$(XMLSEC_MSCRYPTO_SO) $(EXTRA_MSCRYPTO_TARGETS) mscnga: $(BINDIR)\$(XMLSEC_MSCNG_A) mscng: $(BINDIR)\$(XMLSEC_MSCNG_SO) $(EXTRA_MSCNG_TARGETS) check : check-keys check-dsig check-enc check-keys : $(BINDIR)\$(APP_NAME) cd .. if not exist %MAKEDIR%\tmp mkdir %MAKEDIR%\tmp set TMPFOLDER=%MAKEDIR%\tmp set XMLSEC_OPENSSL_TEST_CONFIG=$(XMLSEC_OPENSSL_TEST_CONFIG) sh ./tests/testrun.sh ./tests/testKeys.sh "$(WITH_DEFAULT_CRYPTO)" ./tests win32/$(BINDIR)/$(APP_NAME) der cd win32 check-dsig : $(BINDIR)\$(APP_NAME) cd .. if not exist %MAKEDIR%\tmp mkdir %MAKEDIR%\tmp set TMPFOLDER=%MAKEDIR%\tmp set XMLSEC_OPENSSL_TEST_CONFIG=$(XMLSEC_OPENSSL_TEST_CONFIG) sh ./tests/testrun.sh ./tests/testDSig.sh "$(WITH_DEFAULT_CRYPTO)" ./tests win32/$(BINDIR)/$(APP_NAME) der cd win32 check-enc : $(BINDIR)\$(APP_NAME) cd .. if not exist %MAKEDIR%\tmp mkdir %MAKEDIR%\tmp set TMPFOLDER=%MAKEDIR%\tmp set XMLSEC_OPENSSL_TEST_CONFIG=$(XMLSEC_OPENSSL_TEST_CONFIG) sh ./tests/testrun.sh ./tests/testEnc.sh "$(WITH_DEFAULT_CRYPTO)" ./tests win32/$(BINDIR)/$(APP_NAME) der cd win32 clean : if exist $(XMLSEC_INTDIR) rmdir /S /Q $(XMLSEC_INTDIR) if exist $(XMLSEC_INTDIR_A) rmdir /S /Q $(XMLSEC_INTDIR_A) if exist $(XMLSEC_OPENSSL_INTDIR) rmdir /S /Q $(XMLSEC_OPENSSL_INTDIR) if exist $(XMLSEC_OPENSSL_INTDIR_A) rmdir /S /Q $(XMLSEC_OPENSSL_INTDIR_A) if exist $(XMLSEC_NSS_INTDIR) rmdir /S /Q $(XMLSEC_NSS_INTDIR) if exist $(XMLSEC_NSS_INTDIR_A) rmdir /S /Q $(XMLSEC_NSS_INTDIR_A) if exist $(XMLSEC_MSCRYPTO_INTDIR) rmdir /S /Q $(XMLSEC_MSCRYPTO_INTDIR) if exist $(XMLSEC_MSCRYPTO_INTDIR_A) rmdir /S /Q $(XMLSEC_MSCRYPTO_INTDIR_A) if exist $(XMLSEC_MSCNG_INTDIR) rmdir /S /Q $(XMLSEC_MSCNG_INTDIR) if exist $(XMLSEC_MSCNG_INTDIR_A) rmdir /S /Q $(XMLSEC_MSCNG_INTDIR_A) if exist $(XMLSEC_APPS_INTDIR) rmdir /S /Q $(XMLSEC_APPS_INTDIR) if exist $(XMLSEC_APPS_INTDIR_A) rmdir /S /Q $(XMLSEC_APPS_INTDIR_A) if exist $(BINDIR) rmdir /S /Q $(BINDIR) rebuild : clean all install : all :: directoreies if not exist $(INCPREFIX)\$(XMLSEC_NAME) mkdir $(INCPREFIX)\$(XMLSEC_NAME) if not exist $(BINPREFIX) mkdir $(BINPREFIX) if not exist $(LIBPREFIX) mkdir $(LIBPREFIX) :: include files if exist $(BASEDIR)\include\$(XMLSEC_NAME) copy $(BASEDIR)\include\$(XMLSEC_NAME)\*.h $(INCPREFIX)\$(XMLSEC_NAME) if exist $(BINDIR)\$(XMLSEC_OPENSSL_SO) if not exist $(INCPREFIX)\$(XMLSEC_NAME)\openssl mkdir $(INCPREFIX)\$(XMLSEC_NAME)\openssl if exist $(BINDIR)\$(XMLSEC_OPENSSL_A) if not exist $(INCPREFIX)\$(XMLSEC_NAME)\openssl mkdir $(INCPREFIX)\$(XMLSEC_NAME)\openssl if exist $(BINDIR)\$(XMLSEC_OPENSSL_SO) copy $(BASEDIR)\include\$(XMLSEC_NAME)\openssl\*.h $(INCPREFIX)\$(XMLSEC_NAME)\openssl if exist $(BINDIR)\$(XMLSEC_OPENSSL_A) copy $(BASEDIR)\include\$(XMLSEC_NAME)\openssl\*.h $(INCPREFIX)\$(XMLSEC_NAME)\openssl if exist $(BINDIR)\$(XMLSEC_NSS_SO) if not exist $(INCPREFIX)\$(XMLSEC_NAME)\nss mkdir $(INCPREFIX)\$(XMLSEC_NAME)\nss if exist $(BINDIR)\$(XMLSEC_NSS_A) if not exist $(INCPREFIX)\$(XMLSEC_NAME)\nss mkdir $(INCPREFIX)\$(XMLSEC_NAME)\nss if exist $(BINDIR)\$(XMLSEC_NSS_SO) copy $(BASEDIR)\include\$(XMLSEC_NAME)\nss\*.h $(INCPREFIX)\$(XMLSEC_NAME)\nss if exist $(BINDIR)\$(XMLSEC_NSS_A) copy $(BASEDIR)\include\$(XMLSEC_NAME)\nss\*.h $(INCPREFIX)\$(XMLSEC_NAME)\nss if exist $(BINDIR)\$(XMLSEC_MSCRYPTO_SO) if not exist $(INCPREFIX)\$(XMLSEC_NAME)\mscrypto mkdir $(INCPREFIX)\$(XMLSEC_NAME)\mscrypto if exist $(BINDIR)\$(XMLSEC_MSCRYPTO_A) if not exist $(INCPREFIX)\$(XMLSEC_NAME)\mscrypto mkdir $(INCPREFIX)\$(XMLSEC_NAME)\mscrypto if exist $(BINDIR)\$(XMLSEC_MSCRYPTO_SO) copy $(BASEDIR)\include\$(XMLSEC_NAME)\mscrypto\*.h $(INCPREFIX)\$(XMLSEC_NAME)\mscrypto if exist $(BINDIR)\$(XMLSEC_MSCRYPTO_A) copy $(BASEDIR)\include\$(XMLSEC_NAME)\mscrypto\*.h $(INCPREFIX)\$(XMLSEC_NAME)\mscrypto if exist $(BINDIR)\$(XMLSEC_MSCNG_SO) if not exist $(INCPREFIX)\$(XMLSEC_NAME)\mscng mkdir $(INCPREFIX)\$(XMLSEC_NAME)\mscng if exist $(BINDIR)\$(XMLSEC_MSCNG_A) if not exist $(INCPREFIX)\$(XMLSEC_NAME)\mscng mkdir $(INCPREFIX)\$(XMLSEC_NAME)\mscng if exist $(BINDIR)\$(XMLSEC_MSCNG_SO) copy $(BASEDIR)\include\$(XMLSEC_NAME)\mscng\*.h $(INCPREFIX)\$(XMLSEC_NAME)\mscng if exist $(BINDIR)\$(XMLSEC_MSCNG_A) copy $(BASEDIR)\include\$(XMLSEC_NAME)\mscng\*.h $(INCPREFIX)\$(XMLSEC_NAME)\mscng :: shared and static libs if exist $(BINDIR)\$(XMLSEC_SO) copy $(BINDIR)\$(XMLSEC_SO) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_SO_MANIFEST) copy $(BINDIR)\$(XMLSEC_SO_MANIFEST) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_PDB) copy $(BINDIR)\$(XMLSEC_PDB) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_A) copy $(BINDIR)\$(XMLSEC_A) $(LIBPREFIX) if exist $(BINDIR)\$(XMLSEC_IMP) copy $(BINDIR)\$(XMLSEC_IMP) $(LIBPREFIX) if exist $(BINDIR)\$(XMLSEC_OPENSSL_SO) copy $(BINDIR)\$(XMLSEC_OPENSSL_SO) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_OPENSSL_SO_MANIFEST) copy $(BINDIR)\$(XMLSEC_OPENSSL_SO_MANIFEST) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_OPENSSL_PDB) copy $(BINDIR)\$(XMLSEC_OPENSSL_PDB) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_OPENSSL_A) copy $(BINDIR)\$(XMLSEC_OPENSSL_A) $(LIBPREFIX) if exist $(BINDIR)\$(XMLSEC_OPENSSL_IMP) copy $(BINDIR)\$(XMLSEC_OPENSSL_IMP) $(LIBPREFIX) if exist $(BINDIR)\$(XMLSEC_NSS_SO) copy $(BINDIR)\$(XMLSEC_NSS_SO) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_NSS_SO_MANIFEST) copy $(BINDIR)\$(XMLSEC_NSS_SO_MANIFEST) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_NSS_PDB) copy $(BINDIR)\$(XMLSEC_NSS_PDB) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_NSS_A) copy $(BINDIR)\$(XMLSEC_NSS_A) $(LIBPREFIX) if exist $(BINDIR)\$(XMLSEC_NSS_IMP) copy $(BINDIR)\$(XMLSEC_NSS_IMP) $(LIBPREFIX) if exist $(BINDIR)\$(XMLSEC_MSCRYPTO_SO) copy $(BINDIR)\$(XMLSEC_MSCRYPTO_SO) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_MSCRYPTO_SO_MANIFEST) copy $(BINDIR)\$(XMLSEC_MSCRYPTO_SO_MANIFEST) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_MSCRYPTO_PDB) copy $(BINDIR)\$(XMLSEC_MSCRYPTO_PDB) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_MSCRYPTO_A) copy $(BINDIR)\$(XMLSEC_MSCRYPTO_A) $(LIBPREFIX) if exist $(BINDIR)\$(XMLSEC_MSCRYPTO_IMP) copy $(BINDIR)\$(XMLSEC_MSCRYPTO_IMP) $(LIBPREFIX) if exist $(BINDIR)\$(XMLSEC_MSCNG_SO) copy $(BINDIR)\$(XMLSEC_MSCNG_SO) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_MSCNG_SO_MANIFEST) copy $(BINDIR)\$(XMLSEC_MSCNG_SO_MANIFEST) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_MSCNG_PDB) copy $(BINDIR)\$(XMLSEC_MSCNG_PDB) $(SOPREFIX) if exist $(BINDIR)\$(XMLSEC_MSCNG_A) copy $(BINDIR)\$(XMLSEC_MSCNG_A) $(LIBPREFIX) if exist $(BINDIR)\$(XMLSEC_MSCNG_IMP) copy $(BINDIR)\$(XMLSEC_MSCNG_IMP) $(LIBPREFIX) :: apps if exist $(BINDIR)\$(APP_NAME) copy $(BINDIR)\$(APP_NAME) $(BINPREFIX) if exist $(BINDIR)\$(APP_NAME_MANIFEST) copy $(BINDIR)\$(APP_NAME_MANIFEST) $(BINPREFIX) uninstall : if exist $(INCPREFIX)\$(XMLSEC_NAME) rmdir /S /Q $(INCPREFIX)\$(XMLSEC_NAME) if exist $(SOPREFIX)\$(XMLSEC_SO) del /F /S /Q $(SOPREFIX)\$(XMLSEC_SO) if exist $(SOPREFIX)\$(XMLSEC_SO_MANIFEST) del /F /S /Q $(SOPREFIX)\$(XMLSEC_SO) if exist $(SOPREFIX)\$(XMLSEC_PDB) del /F /S /Q $(SOPREFIX)\$(XMLSEC_PDB) if exist $(LIBPREFIX)\$(XMLSEC_A) del /F /S /Q $(LIBPREFIX)\$(XMLSEC_A) if exist $(LIBPREFIX)\$(XMLSEC_IMP) del /F /S /Q $(LIBPREFIX)\$(XMLSEC_IMP) if exist $(SOPREFIX)\$(XMLSEC_OPENSSL_SO) del /F /S /Q $(SOPREFIX)\$(XMLSEC_OPENSSL_SO) if exist $(SOPREFIX)\$(XMLSEC_OPENSSL_SO_MANIFEST) del /F /S /Q $(SOPREFIX)\$(XMLSEC_OPENSSL_SO) if exist $(SOPREFIX)\$(XMLSEC_OPENSSL_PDB) del /F /S /Q $(SOPREFIX)\$(XMLSEC_OPENSSL_PDB) if exist $(LIBPREFIX)\$(XMLSEC_OPENSSL_A) del /F /S /Q $(LIBPREFIX)\$(XMLSEC_OPENSSL_A) if exist $(LIBPREFIX)\$(XMLSEC_OPENSSL_IMP) del /F /S /Q $(LIBPREFIX)\$(XMLSEC_OPENSSL_IMP) if exist $(SOPREFIX)\$(XMLSEC_NSS_SO) del /F /S /Q $(SOPREFIX)\$(XMLSEC_NSS_SO) if exist $(SOPREFIX)\$(XMLSEC_NSS_SO_MANIFEST) del /F /S /Q $(SOPREFIX)\$(XMLSEC_NSS_SO) if exist $(SOPREFIX)\$(XMLSEC_NSS_PDB) del /F /S /Q $(SOPREFIX)\$(XMLSEC_NSS_PDB) if exist $(LIBPREFIX)\$(XMLSEC_NSS_A) del /F /S /Q $(LIBPREFIX)\$(XMLSEC_NSS_A) if exist $(LIBPREFIX)\$(XMLSEC_NSS_IMP) del /F /S /Q $(LIBPREFIX)\$(XMLSEC_NSS_IMP) if exist $(SOPREFIX)\$(XMLSEC_MSCRYPTO_SO) del /F /S /Q $(SOPREFIX)\$(XMLSEC_MSCRYPTO_SO) if exist $(SOPREFIX)\$(XMLSEC_MSCRYPTO_SO_MANIFEST) del /F /S /Q $(SOPREFIX)\$(XMLSEC_MSCRYPTO_SO) if exist $(SOPREFIX)\$(XMLSEC_MSCRYPTO_PDB) del /F /S /Q $(SOPREFIX)\$(XMLSEC_MSCRYPTO_PDB) if exist $(LIBPREFIX)\$(XMLSEC_MSCRYPTO_A) del /F /S /Q $(LIBPREFIX)\$(XMLSEC_MSCRYPTO_A) if exist $(LIBPREFIX)\$(XMLSEC_MSCRYPTO_IMP) del /F /S /Q $(LIBPREFIX)\$(XMLSEC_MSCRYPTO_IMP) if exist $(SOPREFIX)\$(XMLSEC_MSCNG_SO) del /F /S /Q $(SOPREFIX)\$(XMLSEC_MSCNG_SO) if exist $(SOPREFIX)\$(XMLSEC_MSCNG_SO_MANIFEST) del /F /S /Q $(SOPREFIX)\$(XMLSEC_MSCNG_SO) if exist $(SOPREFIX)\$(XMLSEC_MSCNG_PDB) del /F /S /Q $(SOPREFIX)\$(XMLSEC_MSCNG_PDB) if exist $(LIBPREFIX)\$(XMLSEC_MSCNG_A) del /F /S /Q $(LIBPREFIX)\$(XMLSEC_MSCNG_A) if exist $(LIBPREFIX)\$(XMLSEC_MSCNG_IMP) del /F /S /Q $(LIBPREFIX)\$(XMLSEC_MSCNG_IMP) if exist $(BINPREFIX)\$(APP_NAME) del /F /S /Q $(BINPREFIX)\$(APP_NAME) if exist $(BINPREFIX)\$(APP_NAME_MANIFEST) del /F /S /Q $(BINPREFIX)\$(APP_NAME_MANIFEST) # # Makes the compiler output directory. # $(BINDIR) : if not exist $(BINDIR) mkdir $(BINDIR) # # Makes intermediate directories. # $(XMLSEC_APPS_INTDIR) : if not exist $(XMLSEC_APPS_INTDIR) mkdir $(XMLSEC_APPS_INTDIR) $(XMLSEC_APPS_INTDIR_A) : if not exist $(XMLSEC_APPS_INTDIR_A) mkdir $(XMLSEC_APPS_INTDIR_A) $(XMLSEC_INTDIR) : if not exist $(XMLSEC_INTDIR) mkdir $(XMLSEC_INTDIR) $(XMLSEC_INTDIR_A) : if not exist $(XMLSEC_INTDIR_A) mkdir $(XMLSEC_INTDIR_A) $(XMLSEC_OPENSSL_INTDIR) : if not exist $(XMLSEC_OPENSSL_INTDIR) mkdir $(XMLSEC_OPENSSL_INTDIR) $(XMLSEC_OPENSSL_INTDIR_A) : if not exist $(XMLSEC_OPENSSL_INTDIR_A) mkdir $(XMLSEC_OPENSSL_INTDIR_A) $(XMLSEC_NSS_INTDIR) : if not exist $(XMLSEC_NSS_INTDIR) mkdir $(XMLSEC_NSS_INTDIR) $(XMLSEC_NSS_INTDIR_A) : if not exist $(XMLSEC_NSS_INTDIR_A) mkdir $(XMLSEC_NSS_INTDIR_A) $(XMLSEC_MSCRYPTO_INTDIR) : if not exist $(XMLSEC_MSCRYPTO_INTDIR) mkdir $(XMLSEC_MSCRYPTO_INTDIR) $(XMLSEC_MSCRYPTO_INTDIR_A) : if not exist $(XMLSEC_MSCRYPTO_INTDIR_A) mkdir $(XMLSEC_MSCRYPTO_INTDIR_A) $(XMLSEC_MSCNG_INTDIR) : if not exist $(XMLSEC_MSCNG_INTDIR) mkdir $(XMLSEC_MSCNG_INTDIR) $(XMLSEC_MSCNG_INTDIR_A) : if not exist $(XMLSEC_MSCNG_INTDIR_A) mkdir $(XMLSEC_MSCNG_INTDIR_A) # # An implicit rule for xmlsec compilation. # {$(APPS_SRCDIR)}.c{$(XMLSEC_APPS_INTDIR)}.obj:: $(CC) $(CFLAGS) $(APP_CFLAGS) /Fo$(XMLSEC_APPS_INTDIR)\ /c $< {$(XMLSEC_SRCDIR)}.c{$(XMLSEC_INTDIR)}.obj:: $(CC) $(CFLAGS) /Fo$(XMLSEC_INTDIR)\ /c $< {$(XMLSEC_SRCDIR)}.c{$(XMLSEC_OPENSSL_INTDIR)}.obj:: $(CC) $(CFLAGS) $(XMLSEC_OPENSSL_CFLAGS) /Fo$(XMLSEC_OPENSSL_INTDIR)\ /c $< {$(XMLSEC_OPENSSL_SRCDIR)}.c{$(XMLSEC_OPENSSL_INTDIR)}.obj:: $(CC) $(CFLAGS) $(XMLSEC_OPENSSL_CFLAGS) /Fo$(XMLSEC_OPENSSL_INTDIR)\ /c $< {$(XMLSEC_SRCDIR)}.c{$(XMLSEC_NSS_INTDIR)}.obj:: $(CC) $(CFLAGS) $(XMLSEC_NSS_CFLAGS) /Fo$(XMLSEC_NSS_INTDIR)\ /c $< {$(XMLSEC_NSS_SRCDIR)}.c{$(XMLSEC_NSS_INTDIR)}.obj:: $(CC) $(CFLAGS) $(XMLSEC_NSS_CFLAGS) /Fo$(XMLSEC_NSS_INTDIR)\ /c $< {$(XMLSEC_SRCDIR)}.c{$(XMLSEC_MSCRYPTO_INTDIR)}.obj:: $(CC) $(CFLAGS) $(XMLSEC_MSCRYPTO_CFLAGS) /Fo$(XMLSEC_MSCRYPTO_INTDIR)\ /c $< {$(XMLSEC_MSCRYPTO_SRCDIR)}.c{$(XMLSEC_MSCRYPTO_INTDIR)}.obj:: $(CC) $(CFLAGS) $(XMLSEC_MSCRYPTO_CFLAGS) /Fo$(XMLSEC_MSCRYPTO_INTDIR)\ /c $< {$(XMLSEC_SRCDIR)}.c{$(XMLSEC_MSCNG_INTDIR)}.obj:: $(CC) $(CFLAGS) $(XMLSEC_MSCNG_CFLAGS) /Fo$(XMLSEC_MSCNG_INTDIR)\ /c $< {$(XMLSEC_MSCNG_SRCDIR)}.c{$(XMLSEC_MSCNG_INTDIR)}.obj:: $(CC) $(CFLAGS) $(XMLSEC_MSCNG_CFLAGS) /Fo$(XMLSEC_MSCNG_INTDIR)\ /c $< # # An implicit rule for static xmlsec compilation. # {$(APPS_SRCDIR)}.c{$(XMLSEC_APPS_INTDIR_A)}.obj:: $(CC) /D "LIBXML_STATIC" /D "LIBXSLT_STATIC" /D "XMLSEC_STATIC" \ $(CFLAGS) $(APP_CFLAGS) /Fo$(XMLSEC_APPS_INTDIR_A)\ /c $< {$(XMLSEC_SRCDIR)}.c{$(XMLSEC_INTDIR_A)}.obj:: $(CC) /D "LIBXML_STATIC" /D "LIBXSLT_STATIC" /D "XMLSEC_STATIC" \ $(CFLAGS) /Fo$(XMLSEC_INTDIR_A)\ /c $< {$(XMLSEC_SRCDIR)}.c{$(XMLSEC_OPENSSL_INTDIR_A)}.obj:: $(CC) /D "LIBXML_STATIC" /D "LIBXSLT_STATIC" /D "XMLSEC_STATIC" \ $(CFLAGS) $(XMLSEC_OPENSSL_CFLAGS) /Fo$(XMLSEC_OPENSSL_INTDIR_A)\ /c $< {$(XMLSEC_OPENSSL_SRCDIR)}.c{$(XMLSEC_OPENSSL_INTDIR_A)}.obj:: $(CC) /D "LIBXML_STATIC" /D "LIBXSLT_STATIC" /D "XMLSEC_STATIC" \ $(CFLAGS) $(XMLSEC_OPENSSL_CFLAGS) /Fo$(XMLSEC_OPENSSL_INTDIR_A)\ /c $< {$(XMLSEC_SRCDIR)}.c{$(XMLSEC_NSS_INTDIR_A)}.obj:: $(CC) /D "LIBXML_STATIC" /D "LIBXSLT_STATIC" /D "XMLSEC_STATIC" \ $(CFLAGS) $(XMLSEC_NSS_CFLAGS) /Fo$(XMLSEC_NSS_INTDIR_A)\ /c $< {$(XMLSEC_NSS_SRCDIR)}.c{$(XMLSEC_NSS_INTDIR_A)}.obj:: $(CC) /D "LIBXML_STATIC" /D "LIBXSLT_STATIC" /D "XMLSEC_STATIC" \ $(CFLAGS) $(XMLSEC_NSS_CFLAGS) /Fo$(XMLSEC_NSS_INTDIR_A)\ /c $< {$(XMLSEC_SRCDIR)}.c{$(XMLSEC_MSCRYPTO_INTDIR_A)}.obj:: $(CC) /D "LIBXML_STATIC" /D "LIBXSLT_STATIC" /D "XMLSEC_STATIC" \ $(CFLAGS) $(XMLSEC_MSCRYPTO_CFLAGS) /Fo$(XMLSEC_MSCRYPTO_INTDIR_A)\ /c $< {$(XMLSEC_MSCRYPTO_SRCDIR)}.c{$(XMLSEC_MSCRYPTO_INTDIR_A)}.obj:: $(CC) /D "LIBXML_STATIC" /D "LIBXSLT_STATIC" /D "XMLSEC_STATIC" \ $(CFLAGS) $(XMLSEC_MSCRYPTO_CFLAGS) /Fo$(XMLSEC_MSCRYPTO_INTDIR_A)\ /c $< {$(XMLSEC_SRCDIR)}.c{$(XMLSEC_MSCNG_INTDIR_A)}.obj:: $(CC) /D "LIBXML_STATIC" /D "LIBXSLT_STATIC" /D "XMLSEC_STATIC" \ $(CFLAGS) $(XMLSEC_MSCNG_CFLAGS) /Fo$(XMLSEC_MSCNG_INTDIR_A)\ /c $< {$(XMLSEC_MSCNG_SRCDIR)}.c{$(XMLSEC_MSCNG_INTDIR_A)}.obj:: $(CC) /D "LIBXML_STATIC" /D "LIBXSLT_STATIC" /D "XMLSEC_STATIC" \ $(CFLAGS) $(XMLSEC_MSCNG_CFLAGS) /Fo$(XMLSEC_MSCNG_INTDIR_A)\ /c $< # # Compiles xmlsec source. Uses the implicit rule for commands. # $(XMLSEC_OBJS) : $(XMLSEC_INTDIR) $(XMLSEC_OBJS_A) : $(XMLSEC_INTDIR_A) $(XMLSEC_OPENSSL_OBJS) : $(XMLSEC_OPENSSL_INTDIR) $(XMLSEC_OPENSSL_OBJS_A) : $(XMLSEC_OPENSSL_INTDIR_A) $(XMLSEC_NSS_OBJS) : $(XMLSEC_NSS_INTDIR) $(XMLSEC_NSS_OBJS_A) : $(XMLSEC_NSS_INTDIR_A) $(XMLSEC_MSCRYPTO_OBJS) : $(XMLSEC_MSCRYPTO_INTDIR) $(XMLSEC_MSCRYPTO_OBJS_A) : $(XMLSEC_MSCRYPTO_INTDIR_A) $(XMLSEC_MSCNG_OBJS) : $(XMLSEC_MSCNG_INTDIR) $(XMLSEC_MSCNG_OBJS_A) : $(XMLSEC_MSCNG_INTDIR_A) # # Creates the shared objects and archives. # $(BINDIR)\$(XMLSEC_SO) : $(BINDIR) $(XMLSEC_OBJS) $(LD) $(LDFLAGS) /DLL /VERSION:$(XMLSEC_VERSION_MAJOR).$(XMLSEC_VERSION_MINOR) \ /IMPLIB:$(BINDIR)\$(XMLSEC_IMP) /OUT:$(BINDIR)\$(XMLSEC_SO) \ $(XMLSEC_OBJS) $(SOLIBS) $(BINDIR)\$(XMLSEC_A) : $(BINDIR) $(XMLSEC_OBJS_A) $(AR) $(ARFLAGS) /OUT:$(BINDIR)\$(XMLSEC_A) $(XMLSEC_OBJS_A) $(BINDIR)\$(XMLSEC_OPENSSL_SO) : $(BINDIR) $(BINDIR)\$(XMLSEC_SO) $(XMLSEC_OPENSSL_OBJS) $(LD) $(LDFLAGS) /DLL /VERSION:$(XMLSEC_VERSION_MAJOR).$(XMLSEC_VERSION_MINOR) \ /IMPLIB:$(BINDIR)\$(XMLSEC_OPENSSL_IMP) /OUT:$(BINDIR)\$(XMLSEC_OPENSSL_SO) \ $(XMLSEC_OPENSSL_OBJS) $(XMLSEC_IMP) $(SOLIBS) $(XMLSEC_OPENSSL_SOLIBS) $(BINDIR)\$(XMLSEC_OPENSSL_A) : $(BINDIR) $(BINDIR)\$(XMLSEC_A) $(XMLSEC_OPENSSL_OBJS_A) $(AR) $(ARFLAGS) /OUT:$(BINDIR)\$(XMLSEC_OPENSSL_A) $(XMLSEC_OPENSSL_OBJS_A) $(BINDIR)\$(XMLSEC_NSS_SO) : $(BINDIR) $(BINDIR)\$(XMLSEC_SO) $(XMLSEC_NSS_OBJS) $(LD) $(LDFLAGS) /DLL /VERSION:$(XMLSEC_VERSION_MAJOR).$(XMLSEC_VERSION_MINOR) \ /IMPLIB:$(BINDIR)\$(XMLSEC_NSS_IMP) /OUT:$(BINDIR)\$(XMLSEC_NSS_SO) \ $(XMLSEC_NSS_OBJS) $(XMLSEC_IMP) $(SOLIBS) $(XMLSEC_NSS_SOLIBS) $(BINDIR)\$(XMLSEC_NSS_A) : $(BINDIR) $(BINDIR)\$(XMLSEC_A) $(XMLSEC_NSS_OBJS_A) $(AR) $(ARFLAGS) /OUT:$(BINDIR)\$(XMLSEC_NSS_A) $(XMLSEC_NSS_OBJS_A) $(BINDIR)\$(XMLSEC_MSCRYPTO_SO) : $(BINDIR) $(BINDIR)\$(XMLSEC_SO) $(XMLSEC_MSCRYPTO_OBJS) $(LD) $(LDFLAGS) /DLL /VERSION:$(XMLSEC_VERSION_MAJOR).$(XMLSEC_VERSION_MINOR) \ /IMPLIB:$(BINDIR)\$(XMLSEC_MSCRYPTO_IMP) /OUT:$(BINDIR)\$(XMLSEC_MSCRYPTO_SO) \ $(XMLSEC_MSCRYPTO_OBJS) $(XMLSEC_IMP) $(SOLIBS) $(XMLSEC_MSCRYPTO_SOLIBS) $(BINDIR)\$(XMLSEC_MSCRYPTO_A) : $(BINDIR) $(BINDIR)\$(XMLSEC_A) $(XMLSEC_MSCRYPTO_OBJS_A) $(AR) $(ARFLAGS) /OUT:$(BINDIR)\$(XMLSEC_MSCRYPTO_A) $(XMLSEC_MSCRYPTO_OBJS_A) $(BINDIR)\$(XMLSEC_MSCNG_SO) : $(BINDIR) $(BINDIR)\$(XMLSEC_SO) $(XMLSEC_MSCNG_OBJS) $(LD) $(LDFLAGS) /DLL /VERSION:$(XMLSEC_VERSION_MAJOR).$(XMLSEC_VERSION_MINOR) \ /IMPLIB:$(BINDIR)\$(XMLSEC_MSCNG_IMP) /OUT:$(BINDIR)\$(XMLSEC_MSCNG_SO) \ $(XMLSEC_MSCNG_OBJS) $(XMLSEC_IMP) $(SOLIBS) $(XMLSEC_MSCNG_SOLIBS) $(BINDIR)\$(XMLSEC_MSCNG_A) : $(BINDIR) $(BINDIR)\$(XMLSEC_A) $(XMLSEC_MSCNG_OBJS_A) $(AR) $(ARFLAGS) /OUT:$(BINDIR)\$(XMLSEC_MSCNG_A) $(XMLSEC_MSCNG_OBJS_A) # # An implicit rule for xmlsec command line tool # $(BINDIR)\xmlseca.exe: xmlseca $(BINDIR) $(XMLSEC_APPS_OBJS_A) $(LD) $(LDFLAGS) /OUT:$@ $(XMLSEC_A) $(XMLSEC_CRYPTO_A) $(APP_LIBS) $(XMLSEC_APPS_OBJS_A) $(BINDIR)\xmlsec.exe: xmlsec $(BINDIR) $(XMLSEC_APPS_OBJS) $(LD) $(LDFLAGS) /OUT:$@ $(XMLSEC_IMP) $(XMLSEC_CRYPTO_IMP) $(APP_LIBS) $(XMLSEC_APPS_OBJS) # This is a target for me, to make a binary distribution. Not for the public use, # keep your hands off :-) BDVERSION = $(XMLSEC_VERSION_MAJOR).$(XMLSEC_VERSION_MINOR).$(XMLSEC_VERSION_SUBMINOR) BDPREFIX = $(XMLSEC_BASENAME)-$(BDVERSION).win32 bindist : all $(MAKE) /nologo PREFIX=$(BDPREFIX) SOPREFIX=$(BDPREFIX)\bin install cscript //NoLogo configure.js genreadme $(XMLSEC_BASENAME) $(BDVERSION) $(BDPREFIX)\readme.txt xmlsec1-1.3.7/win32/README.md0000664000175000017500000001465014752657640014013 0ustar renerene# XMLSec Library: Windows port This directory contains the files required to build this software on the native Windows platform. ## Building the library Building from command line is the only supported method. In order to build from the command-line you need to make sure that your compiler works from the command line. This is not always the case, often the required environment variables are missing. If you are not sure, test if this works first. If it doesn't, you will first have to configure your compiler suite to run from the command-line - please refer to your compiler's documentation regarding that. The first thing you want to do is configure the source. You can have the configuration script do this automatically for you. The configuration script is written in JScript, a Microsoft's implementation of the ECMA scripting language. Almost every Windows machine can execute this through the Windows Scripting Host. If your system lacks the ability to execute JScript for some reason, you must perform the configuration manually. The second step is compiling the source and, optionally, installing it to the location of your choosing. ### Configuring the source automatically The configuration script accepts numerous options. Some of these affect features which will be available in the compiled software, others affect the way the software is built and installed. To see a full list of options supported by the configuration script, run ``` cscript configure.js help ``` from the `win32` subdirectory. The configuration script will present you the options it accepts and give a biref explanation of these. In every case you will have two sets of options. The first set is specific to the software you are building and the second one is specific to the Windows port. Once you have decided which options suit you, run the script with that options. Here is an example: ``` cscript configure.js prefix=c:\opt include=c:\opt\include lib=c:\opt\lib debug=yes ``` The previous example will configure the process to install the library in `c:\opt`, use `c:\opt\include` and `c:\opt\lib` as additional search paths for the compiler and the linker and build executables with debug symbols. Note: Please do not use path names which contain spaces. This will fail. ### Configuring the source manually The manual configuration is pretty straightforward, but I would suggest rather to get a JScript engine and let the configure script do it for you. This process involves editing the apropriate Makefile to suit your needs, as well as manually generating certain *.h files from their *.h.in sources. ### Compiling After the configuration stage has been completed, you want to build the software. To do that, type ``` nmake ``` in the `win32` subdirectory.When the building completes, you will find the executable files in `win32\binaries` directory. You can install the software into the directory you specified to the configure script during the configure stage by typing ``` nmake install ``` ## Building your appliation On Windows there is no easy way to automatically configure compilation options or paths. You have to do everything manualy. Start up your favorite IDE or text editor and read on. ### Global Defines If you want to use automatic crypto library configuration (`xmlsec/crypto.h` file) you need to add one of the following global defines: ``` #define XMLSEC_CRYPTO_OPENSSL #define XMLSEC_CRYPTO_GNUTLS #define XMLSEC_CRYPTO_NSS ``` Also you'll need to define all configuration parameters used during XML Security Library compilation (`XMLSEC_NO_AES`, `XMLSEC_NO_X509`,...). ### Setting include and library paths. As usual, you need to have correct include and library paths to xmlsec, libxml, libxslt, iconv, openssl or any other library used in your application. ### Selecting correct Windows runtime libraries. Windows basically has 6 different C runtimes. The first one is called libc.lib and can only be linked to statically and used only in single-threaded mode. The second one is also can only be linked staticaly and used in multi-threaded mode. The third one is called msvcrt.dll and can only be linked to dynamically. These three then live in their debug and release incarnations, which results in six C runtimes. The rule is simple: exactly the same runtime must be used throughout the application. Client code *MUST* use the same runtime as XMLSec, LibXML, LibXSLT, OpenSSL or any other library used. If you downloaded XMLSec, LibXML, LibXSLT and OpenSSL binaries from Igor's page then all libraries are all linked to msvcrt.dll ("Multithreaded DLL" (NOT DEBUG!); /MD compiler switch). The click-next click-finish wizardry from Visual Studio chooses the single-threaded libc.lib as the default when you create a new project. And this causes great problems because you program crashes on first IO operation, first malloc/free from different runtimes or something even more trivial. Do not forget that if you need a different runtime for some reason, then you MUST recompile not only XMLSec, but LibXML, LibXSLT and OpenSSL as well. ## Building dependencies ### LibXML2 In MSVC x64 native tools shell: ``` cd c:\\win32 cscript configure.js iconv=no zlib=no cruntime=/MD prefix=c:\local\distro\libxml2 nmake nmake install ``` ### LibXSLT In MSVC x64 native tools shell: ``` cd c:\\win32 cscript configure.js iconv=no zlib=no cruntime=/MD prefix=c:\local\distro\libxslt\ include=c:\local\distro\libxml2\include\libxml2 lib=c:\local\distro\libxml2\lib nmake nmake install ``` ## OpenSSL 3.x In MSVC x64 native tools shell: ``` cd c:\ C:\Strawberry\perl\bin\perl.exe Configure --prefix=c:\local\distro\openssl --release VC-WIN64A nmake nmake install_sw ``` ## XMLSec In MSVC x64 native tools shell: ``` cd c:\ cscript configure.js crypto=openssl,mscng xslt=yes unicode=yes with-dl=yes pedantic=yes werror=yes cruntime=/MD prefix=C:\local\distro\xmlsec include=C:\local\distro\libxml2\include;C:\local\distro\libxml2\include\libxml2;C:\local\distro\libxslt\include;C:\local\distro\openssl\include; lib=C:\local\distro\libxml2\lib;C:\local\distro\libxslt\lib;C:\local\distro\openssl\lib nmake nmake install ``` ## Authors - March 2002, Igor Zlatkovic - July, 2022, Aleksey Sanin xmlsec1-1.3.7/win32/libxmlsec.def.src0000664000175000017500000000142214752657640015755 0ustar renerene/* win32/libxmlsec.def.src Pseudo-source used to create a .DEF file for proper dynamic linkage. Assuming you use Microsoft's C compiler, you run a cl /EP libxmlsec.def.src > libxmlsec.def in order to get the right .DEF file. Basically, all you do is preprocess this file using a C/C++ preprocessor and the right .DEF file should come out. Should you need a function which does not seem to be exported from the libxmlsec.dll, its name is most certainly missing here. Add the name of the offending function to this file and rebuild. 21.03.2002, Igor Zlatkovic (igor@stud.fh-frankfurt.de) Created for LibXML and LibXSLT April 2002, Aleksey Sanin Modified for XMLSec Libary */ LIBRARY libxmlsec EXPORTS xmlsec1-1.3.7/win32/mycfg.bat0000664000175000017500000000351014752657640014322 0ustar renerene@echo on REM REM This is my personal configuration file. REM I am lazy to type all this crap again and again REM You are welcome to customize this file for your REM needs but do not check it into the GitHub, please. REM REM Aleksey Sanin REM SET XMLSEC_CRYPTO=mscng SET PREFIX=C:\local\distro SET LIBXML2_PREFIX=%PREFIX%\libxml2 SET LIBXSLT_PREFIX=%PREFIX%\libxslt SET OPENSSL_PREFIX=%PREFIX%\openssl SET XMLSEC_PREFIX=%PREFIX%\xmlsec SET XMLSEC_INCLUDE=%LIBXML2_PREFIX%\include;%LIBXML2_PREFIX%\include\libxml2;%LIBXSLT_PREFIX%\include;%OPENSSL_PREFIX%\include;%MSSDK_INCLUDE% SET XMLSEC_LIB=%LIBXML2_PREFIX%\lib;%LIBXSLT_PREFIX%\lib;%OPENSSL_PREFIX%\lib;%MSSDK_LIB% SET XMLSEC_OPTIONS=debug=yes crypto=%XMLSEC_CRYPTO% legacy-features=yes nmake clean del /F Makefile configure.txt cscript configure.js prefix=%XMLSEC_PREFIX% %XMLSEC_OPTIONS% include=%XMLSEC_INCLUDE% lib=%XMLSEC_LIB% @ECHO OFF mkdir binaries IF EXIST %LIBXML2_PREFIX%\bin\*.dll copy %LIBXML2_PREFIX%\bin\*.dll binaries IF EXIST %LIBXML2_PREFIX%\bin\*.pdb copy %LIBXML2_PREFIX%\bin\*.pdb binaries IF EXIST %LIBXML2_PREFIX%\lib\*.dll copy %LIBXML2_PREFIX%\lib\*.dll binaries IF EXIST %LIBXML2_PREFIX%\lib\*.pdb copy %LIBXML2_PREFIX%\lib\*.pdb binaries IF EXIST %LIBXSLT_PREFIX%\bin\*.dll copy %LIBXSLT_PREFIX%\bin\*.dll binaries IF EXIST %LIBXSLT_PREFIX%\bin\*.pdb copy %LIBXSLT_PREFIX%\bin\*.pdb binaries IF EXIST %LIBXSLT_PREFIX%\lib\*.dll copy %LIBXSLT_PREFIX%\lib\*.dll binaries IF EXIST %LIBXSLT_PREFIX%\lib\*.pdb copy %LIBXSLT_PREFIX%\lib\*.pdb binaries IF EXIST %OPENSSL_PREFIX%\bin\*.dll copy %OPENSSL_PREFIX%\bin\*.dll binaries IF EXIST %OPENSSL_PREFIX%\bin\*.pdb copy %OPENSSL_PREFIX%\bin\*.pdb binaries IF EXIST %OPENSSL_PREFIX%\lib\*.dll copy %OPENSSL_PREFIX%\lib\*.dll binaries IF EXIST %OPENSSL_PREFIX%\lib\*.pdb copy %OPENSSL_PREFIX%\lib\*.pdb binaries xmlsec1-1.3.7/win32/configure.js0000664000175000017500000005100214752657640015043 0ustar renerene/* Configure script for xmlsec, specific for Windows with Scripting Host. * * This script will configure the libxmlsec build process and create necessary files. * Run it with an 'help', or an invalid option and it will tell you what options * it accepts. * * March 2002, Igor Zlatkovic * Created for LibXML and LibXSLT * April 2002, Aleksey Sanin * Modified for XMLSec Libary */ /* The source directory, relative to the one where this file resides. */ var baseDir = ".."; var srcDir = baseDir + "\\src"; var srcDirApps = baseDir + "\\apps"; /* The directory where we put the binaries after compilation. */ var binDir = "binaries"; /* Base name of what we are building. */ var baseName = "libxmlsec"; /* Configure file which contains the version and the output file where we can store our build configuration. */ var configFile = baseDir + "\\configure.ac"; var versionFile = ".\\configure.txt"; /* Input and output files regarding the lib(e)xml features. The second output file is there for the compatibility reasons, otherwise it is identical to the first. */ var optsFileIn = baseDir + "\\config.h.in"; var optsFile = baseDir + "\\config.h"; /* Input and output files regarding the xmlsec version. */ var versionHeaderIn = baseDir + "\\include\\xmlsec\\version.h.in"; var versionHeader = baseDir + "\\include\\xmlsec\\version.h"; /* Version strings for the binary distribution. Will be filled later in the code. */ var verMajorXmlSec; var verMinorXmlSec; var verMicroXmlSec; /* Libxmlsec features. */ var withCrypto = "mscng"; var withDefaultCrypto = "mscng"; var withOpenSSL = 0; var withOpenSSLVersion = ""; var withNss = 0; var withMSCrypto = 0; var withMSCng = 1; var withLibXSLT = 1; var withIconv = 0; /* disable iconv by default */ var withFTP = 0; /* disable ftp by default */ var withHTTP = 0; /* disable http by default */ var withGost = 0; var withRsaPkcs15 = 1; var withLegacyFeatures = 0; /* Win32 build options. */ var buildUnicode = 1; var buildDebug = 0; var buildWithMemcheck = 0; var buildWerror = 1; var buildPedantic = 1; var buildCc = "cl.exe"; var buildCflags = ""; var buildStatic = 1; var buildWithDLSupport = 1; var buildPrefix = "."; var buildBinPrefix = "$(PREFIX)\\bin"; var buildIncPrefix = "$(PREFIX)\\include"; var buildLibPrefix = "$(PREFIX)\\lib"; var buildSoPrefix = "$(PREFIX)\\bin"; var buildInclude = "."; var buildLib = "."; var cruntime = "/MD"; /* Crypto options */ var withOpenSSL3Engines = 0; /* Local stuff */ var error = 0; /* Helper function, transforms the option variable into the 'Enabled' or 'Disabled' string. */ function boolToStr(opt) { if (opt == false) return "Disabled"; else if (opt == true) return "Enabled"; error = 1; return "Undefined"; } /* Helper function, transforms the argument string into the boolean value. */ function strToBool(opt) { if (opt == "0" || opt == "no") return false; else if (opt == "1" || opt == "yes") return true; error = 1; return false; } /* Displays the details about how to use this script. */ function usage() { var txt; txt = "Usage:\n"; txt += " cscript " + WScript.ScriptName + " \n"; txt += " cscript " + WScript.ScriptName + " help\n\n"; txt += "Options can be specified in the form