2012-10-24 Kai Tietz <ktietz70@googlemail.com>
Yaakov Selkowitz <yselkowitz@users.sourceforge.net> * configure.in: Check for MINGW32_CC and MINGW64_CC. * configure: Regenerate. * Makefile.in: Use MINGW32_CC and MINGW64_CC to build 32-bit and 64-bit DLLs. Remove references to mingw and w32api directories. * cyglsa64.dll: Remove from version control. * make-64bit-version-with-mingw-w64.sh: Remove.
This commit is contained in:
parent
d25fac7114
commit
efa82614a7
|
@ -1,3 +1,13 @@
|
|||
2012-10-24 Kai Tietz <ktietz70@googlemail.com>
|
||||
Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
|
||||
|
||||
* configure.in: Check for MINGW32_CC and MINGW64_CC.
|
||||
* configure: Regenerate.
|
||||
* Makefile.in: Use MINGW32_CC and MINGW64_CC to build 32-bit and
|
||||
64-bit DLLs. Remove references to mingw and w32api directories.
|
||||
* cyglsa64.dll: Remove from version control.
|
||||
* make-64bit-version-with-mingw-w64.sh: Remove.
|
||||
|
||||
2012-05-29 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* Makefile.in (LIBS): Re-add advapi32.dll. Explain why.
|
||||
|
|
|
@ -29,17 +29,16 @@ INSTALL_DATA := @INSTALL_DATA@
|
|||
CC := @CC@
|
||||
CC_FOR_TARGET := $(CC)
|
||||
|
||||
MINGW32_CC := @MINGW32_CC@
|
||||
MINGW64_CC := @MINGW64_CC@
|
||||
|
||||
CFLAGS := @CFLAGS@
|
||||
|
||||
include $(srcdir)/../Makefile.common
|
||||
|
||||
WIN32_INCLUDES := -I. -I$(srcdir) $(w32api_include) $(w32api_include)/ddk
|
||||
WIN32_CFLAGS := $(CFLAGS) $(WIN32_COMMON) $(WIN32_INCLUDES)
|
||||
WIN32_LDFLAGS := $(CFLAGS) $(WIN32_COMMON) -nostdlib -Wl,-shared
|
||||
|
||||
ifdef MINGW_CC
|
||||
override CC:=${MINGW_CC}
|
||||
endif
|
||||
WIN32_INCLUDES := -I. -I$(srcdir)
|
||||
WIN32_CFLAGS := $(CFLAGS) $(WIN32_INCLUDES)
|
||||
WIN32_LDFLAGS := $(CFLAGS) -nostdlib -Wl,-shared
|
||||
|
||||
# Never again try to remove advapi32. It does not matter if the DLL calls
|
||||
# advapi32 functions or the equivalent ntdll functions.
|
||||
|
@ -47,21 +46,33 @@ endif
|
|||
# not recognized by LSA.
|
||||
LIBS := -ladvapi32 -lkernel32 -lntdll
|
||||
|
||||
DLL := cyglsa.dll
|
||||
DEF_FILE:= cyglsa.def
|
||||
DLL32 := cyglsa.dll
|
||||
DEF32 := cyglsa.def
|
||||
OBJ32 := cyglsa.o
|
||||
|
||||
OBJ = cyglsa.o
|
||||
DLL64 := cyglsa64.dll
|
||||
DEF64 := cyglsa64.def
|
||||
OBJ64 := cyglsa64.o
|
||||
|
||||
.SUFFIXES:
|
||||
.NOEXPORT:
|
||||
|
||||
all: Makefile $(DLL)
|
||||
all: Makefile $(DLL32) $(DLL64)
|
||||
|
||||
$(DEF_FILE): cyglsa.din config.status
|
||||
$(DEF32): cyglsa.din config.status
|
||||
$(SHELL) config.status
|
||||
|
||||
$(DLL): $(OBJ) $(DEF_FILE)
|
||||
$(CC) -s $(WIN32_LDFLAGS) -o $@ $^ $(LIBS)
|
||||
$(DLL32): $(OBJ32) $(DEF32)
|
||||
$(MINGW32_CC) -s $(WIN32_LDFLAGS) -o $@ $^ $(LIBS)
|
||||
|
||||
$(OBJ32): cyglsa.c
|
||||
$(MINGW32_CC) $(WIN32_CFLAGS) -c -o $@ $<
|
||||
|
||||
$(DLL64): $(OBJ64) $(DEF64)
|
||||
$(MINGW64_CC) -s $(WIN32_LDFLAGS) -o $@ $^ $(LIBS)
|
||||
|
||||
$(OBJ64): cyglsa.c
|
||||
$(MINGW64_CC) $(WIN32_CFLAGS) -c -o $@ $<
|
||||
|
||||
.PHONY: all install clean realclean
|
||||
|
||||
|
@ -73,9 +84,6 @@ clean:
|
|||
|
||||
install: all
|
||||
$(SHELL) $(updir1)/mkinstalldirs $(DESTDIR)$(bindir)
|
||||
$(INSTALL_PROGRAM) $(DLL) $(DESTDIR)$(bindir)/$(DLL)
|
||||
$(INSTALL_PROGRAM) $(srcdir)/cyglsa64.dll $(DESTDIR)$(bindir)/cyglsa64.dll
|
||||
$(INSTALL_PROGRAM) $(DLL32) $(DESTDIR)$(bindir)/$(DLL32)
|
||||
$(INSTALL_PROGRAM) $(DLL64) $(DESTDIR)$(bindir)/$(DLL64)
|
||||
$(INSTALL_PROGRAM) $(srcdir)/cyglsa-config $(DESTDIR)$(bindir)/cyglsa-config
|
||||
|
||||
%.o: %.c
|
||||
$(CC) $(WIN32_CFLAGS) -c -o $@ $<
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -24,22 +24,14 @@ AC_CANONICAL_SYSTEM
|
|||
|
||||
LIB_AC_PROG_CC
|
||||
|
||||
NO_CYGWIN="$(cd ${srcdir}/../utils; pwd)/mingw"
|
||||
AC_CHECK_PROGS(MINGW32_CC, i686-w64-mingw32-gcc)
|
||||
AC_CHECK_PROGS(MINGW64_CC, x86_64-w64-mingw32-gcc)
|
||||
|
||||
test -z "$MINGW32_CC" && AC_MSG_ERROR([no acceptable mingw32 cc found in \$PATH])
|
||||
test -z "$MINGW64_CC" && AC_MSG_ERROR([no acceptable mingw64 cc found in \$PATH])
|
||||
|
||||
AC_SUBST(NO_CYGWIN)
|
||||
AC_ARG_PROGRAM
|
||||
|
||||
if test "x$cross_compiling" = "xyes"; then
|
||||
if test "x$program_transform_name" = "xs,x,x,"; then
|
||||
program_transform_name=""
|
||||
fi
|
||||
if test "x$program_transform_name" = "x"; then
|
||||
program_transform_name="s,^,$host-,"
|
||||
else
|
||||
program_transform_name="$program_transform_name -e s,^,$host-,"
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_PROG_INSTALL
|
||||
|
||||
AC_OUTPUT(Makefile cyglsa.def:cyglsa.din)
|
||||
|
|
Binary file not shown.
|
@ -1,29 +0,0 @@
|
|||
#! /bin/sh
|
||||
# This script shows how to generate a 64 bit version of cyglsa.dll.
|
||||
# The 32 bit version will not work on 64 bit systems.
|
||||
#
|
||||
# Note that you need MinGW-w64 GCC, headers, and import libs. On Cygwin,
|
||||
# the required packages are: mingw64-x86_64-binutils, mingw64-x86_64-gcc-core,
|
||||
# mingw64-x86_64-headers, and mingw64-x86_64-runtime.
|
||||
#
|
||||
# Note that this is for building inside the source dir as not to interfere
|
||||
# with the "official" 32 bit build in the build directory.
|
||||
#
|
||||
# Install the dll into /bin and use the cyglsa-config script to register it.
|
||||
# Don't forget to reboot afterwards.
|
||||
#
|
||||
# Add "-DDEBUGGING" to CFLAGS below to create debugging output to
|
||||
# C:\cyglsa.dbgout at runtime.
|
||||
#
|
||||
set -e
|
||||
|
||||
CC="x86_64-w64-mingw32-gcc"
|
||||
CFLAGS="-fno-exceptions -O0 -Wall -Werror"
|
||||
LDFLAGS="-s -nostdlib -Wl,--entry,DllMain,--major-os-version,5,--minor-os-version,2"
|
||||
# Never again try to remove advapi32. It does not matter if the DLL calls
|
||||
# advapi32 functions or the equivalent ntdll functions.
|
||||
# But if the LSA authentication DLL is not linked against advapi32, it's
|
||||
# not recognized by LSA.
|
||||
LIBS="-ladvapi32 -lkernel32 -lntdll"
|
||||
|
||||
$CC $CFLAGS $LDFLAGS -shared -o cyglsa64.dll cyglsa.c cyglsa64.def $LIBS
|
Loading…
Reference in New Issue