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:
Yaakov Selkowitz 2012-10-24 09:35:38 +00:00
parent d25fac7114
commit efa82614a7
6 changed files with 1116 additions and 1181 deletions

View File

@ -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.

View File

@ -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 $@ $<

2194
winsup/lsaauth/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -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.

View File

@ -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