]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
build: drop `tool_hugehelp.c.cvs`, tidy up macros, drop `buildconf.bat`
authorViktor Szakats <commit@vsz.me>
Fri, 24 Jan 2025 13:22:23 +0000 (14:22 +0100)
committerViktor Szakats <commit@vsz.me>
Sun, 26 Jan 2025 13:22:49 +0000 (14:22 +0100)
Rework the way `tool_hugehelp.c` is included in builds.

After this patch, with `./configure` and CMake `tool_hugehelp.c` is only
compiled when building with manuals enabled. With manuals disabled this
source file is not used anymore. The method is similar to how
8a3740bc8e558b9a9d4a652b74cf27a0961d7010 implemented `tool_ca_embed.c`.
`./configure` always generates it as before, otherwise the build fails.

- winbuild: rework to not need `buildconf.bat`, but automatically use
  `tool_hugehelp.c` if present (e.g. when building from an official
  source tarball) and enable `USE_MANUAL` accordingly.

- `buildconf.bat`: after dropping `tool_hugehelp.c` generation, the only
  logic left was `cp Makefile.dist Makefile`. This allowed to launch
  winbuild builds via GNU Make in a Git repo. Drop this option together
  with the batch file.

- build `libcurltool` without `USE_MANUAL` macro to exclude the manual
  and the dependence on the generator commands. Drop relying on
  `UNITTESTS` for this purpose.
  Follow-up to 96843f4ef74e02452972fd97fe15d8ff656f46ec #16068

- `src/mkhelp.pl`: include `tool_hugehelp.h` before using `USE_MANUAL`
  to have it set in `config-*.h` builds with source tarballs created
  with manual but without zlib.

Closes #16081

18 files changed:
.github/scripts/distfiles.sh
GIT-INFO.md
Makefile.am
Makefile.dist
appveyor.sh
buildconf.bat [deleted file]
docs/HTTP3.md
lib/config-win32.h
src/CMakeLists.txt
src/Makefile.am
src/mkhelp.pl
src/tool_help.c
src/tool_hugehelp.c.cvs [deleted file]
src/tool_hugehelp.h
src/tool_operate.c
tests/testcurl.pl
winbuild/Makefile.vc
winbuild/MakefileBuild.vc

index 31b5a11896e67ef0ff7c377b86c84eba8eb69d32..26370744d7fd44f59784b0bf20b850c8b17a0b01 100755 (executable)
@@ -29,7 +29,6 @@ gitonly=".git*
 ^scripts/installcheck.sh
 ^scripts/release-notes.pl
 ^scripts/singleuse.pl
-^src/tool_hugehelp.c.cvs
 ^tests/CI.md"
 
 tarfiles="$(mktemp)"
index 09a3a994e1c8dc4661965e348415e5cf935f712d..1ff22010cbdad93c8f804ecfbcf631e330ac9b94 100644 (file)
@@ -21,10 +21,6 @@ Daniel uses a configure line similar to this for easier development:
 
     ./configure --disable-shared --enable-debug --enable-maintainer-mode
 
-In environments that do not support configure (i.e. Windows), do this:
-
-    buildconf.bat
-
 ## REQUIREMENTS
 
 See [docs/INTERNALS.md][0] for requirement details.
index 944806eef0c0b1c4a2d739bb11d8a3d05792680e..d5832c41bd13888227b7fd5f494d654039c25d45 100644 (file)
@@ -83,7 +83,7 @@ PLAN9_DIST = plan9/include/mkfile \
 
 EXTRA_DIST = CHANGES.md COPYING Makefile.dist             \
  RELEASE-NOTES $(CMAKE_DIST) $(VC_DIST) $(WINBUILD_DIST)  \
- $(PLAN9_DIST) buildconf.bat Dockerfile
+ $(PLAN9_DIST) Dockerfile
 
 DISTCLEANFILES = buildinfo.txt
 
index ee1c2be59b053c5b6bcd54584dca906200399fc8..61ba795a471370cf3cc083d450900be80fdb4535 100644 (file)
@@ -30,28 +30,13 @@ ssl:
        ./configure --with-openssl
        make
 
-vc:
-       cd winbuild
-       nmake /f Makefile.vc MACHINE=x86
-
-vc-x64:
-       cd winbuild
-       nmake /f Makefile.vc MACHINE=x64
-
-cygwin:
-       ./configure
-       make
-
-cygwin-ssl:
-       ./configure --with-openssl
-       make
+cygwin: all
+cygwin-ssl: ssl
 
 unix: all
-
 unix-ssl: ssl
 
 linux: all
-
 linux-ssl: ssl
 
 ca-bundle: scripts/mk-ca-bundle.pl
index 2843d1827b9355fd5840cfd28969692006aebb65..bdc7ee48436122eb9b362b53d019551b5785ae66 100644 (file)
@@ -75,7 +75,6 @@ elif [ "${BUILD_SYSTEM}" = 'VisualStudioSolution' ]; then
   )
   curl="build/Win32/${VC_VERSION}/${PRJ_CFG}/curld.exe"
 elif [ "${BUILD_SYSTEM}" = 'winbuild_vs2015' ]; then
-  ./buildconf.bat
   (
     cd winbuild
     cat << EOF > _make.bat
@@ -88,7 +87,6 @@ EOF
   )
   curl="builds/libcurl-vc14-x64-${PATHPART}-dll-ssl-dll-ipv6-sspi/bin/curl.exe"
 elif [ "${BUILD_SYSTEM}" = 'winbuild_vs2017' ]; then
-  ./buildconf.bat
   (
     cd winbuild
     cat << EOF > _make.bat
diff --git a/buildconf.bat b/buildconf.bat
deleted file mode 100644 (file)
index 532c984..0000000
+++ /dev/null
@@ -1,265 +0,0 @@
-@echo off
-rem ***************************************************************************
-rem *                                  _   _ ____  _
-rem *  Project                     ___| | | |  _ \| |
-rem *                             / __| | | | |_) | |
-rem *                            | (__| |_| |  _ <| |___
-rem *                             \___|\___/|_| \_\_____|
-rem *
-rem * Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
-rem *
-rem * This software is licensed as described in the file COPYING, which
-rem * you should have received as part of this distribution. The terms
-rem * are also available at https://curl.se/docs/copyright.html.
-rem *
-rem * You may opt to use, copy, modify, merge, publish, distribute and/or sell
-rem * copies of the Software, and permit persons to whom the Software is
-rem * furnished to do so, under the terms of the COPYING file.
-rem *
-rem * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
-rem * KIND, either express or implied.
-rem *
-rem * SPDX-License-Identifier: curl
-rem *
-rem ***************************************************************************
-
-rem NOTES
-rem
-rem This batch file must be used to set up a git tree to build on systems where
-rem there is no autotools support (i.e. DOS and Windows).
-rem
-
-:begin
-  rem Set our variables
-  if "%OS%" == "Windows_NT" setlocal
-  set MODE=GENERATE
-
-  rem Switch to this batch file's directory
-  cd /d "%~0\.." 1>NUL 2>&1
-
-  rem Check we are running from a curl git repository
-  if not exist GIT-INFO.md goto norepo
-
-:parseArgs
-  if "%~1" == "" goto start
-
-  if /i "%~1" == "-clean" (
-    set MODE=CLEAN
-  ) else if /i "%~1" == "-?" (
-    goto syntax
-  ) else if /i "%~1" == "-h" (
-    goto syntax
-  ) else if /i "%~1" == "-help" (
-    goto syntax
-  ) else (
-    goto unknown
-  )
-
-  shift & goto parseArgs
-
-:start
-  if "%MODE%" == "GENERATE" (
-    echo.
-    echo Generating prerequisite files
-
-    call :generate
-    if errorlevel 3 goto nogenhugehelp
-    if errorlevel 2 goto nogenmakefile
-    if errorlevel 1 goto warning
-
-  ) else (
-    echo.
-    echo Removing prerequisite files
-
-    call :clean
-    if errorlevel 2 goto nocleanhugehelp
-    if errorlevel 1 goto nocleanmakefile
-  )
-
-  goto success
-
-rem Main generate function.
-rem
-rem Returns:
-rem
-rem 0 - success
-rem 1 - success with simplified tool_hugehelp.c
-rem 2 - failed to generate Makefile
-rem 3 - failed to generate tool_hugehelp.c
-rem
-:generate
-  if "%OS%" == "Windows_NT" setlocal
-  set BASIC_HUGEHELP=0
-
-  rem Create Makefile
-  echo * %CD%\Makefile
-  if exist Makefile.dist (
-    copy /Y Makefile.dist Makefile 1>NUL 2>&1
-    if errorlevel 1 (
-      if "%OS%" == "Windows_NT" endlocal
-      exit /B 2
-    )
-  )
-
-  rem Create tool_hugehelp.c
-  echo * %CD%\src\tool_hugehelp.c
-  call :genHugeHelp
-  if errorlevel 2 (
-    if "%OS%" == "Windows_NT" endlocal
-    exit /B 3
-  )
-  if errorlevel 1 (
-    set BASIC_HUGEHELP=1
-  )
-  cmd /c exit 0
-
-  if "%BASIC_HUGEHELP%" == "1" (
-    if "%OS%" == "Windows_NT" endlocal
-    exit /B 1
-  )
-
-  if "%OS%" == "Windows_NT" endlocal
-  exit /B 0
-
-rem Main clean function.
-rem
-rem Returns:
-rem
-rem 0 - success
-rem 1 - failed to clean Makefile
-rem 2 - failed to clean tool_hugehelp.c
-rem
-:clean
-  rem Remove Makefile
-  echo * %CD%\Makefile
-  if exist Makefile (
-    del Makefile 2>NUL
-    if exist Makefile (
-      exit /B 1
-    )
-  )
-
-  rem Remove tool_hugehelp.c
-  echo * %CD%\src\tool_hugehelp.c
-  if exist src\tool_hugehelp.c (
-    del src\tool_hugehelp.c 2>NUL
-    if exist src\tool_hugehelp.c (
-      exit /B 2
-    )
-  )
-
-  exit /B
-
-rem Function to generate src\tool_hugehelp.c
-rem
-rem Returns:
-rem
-rem 0 - full tool_hugehelp.c generated
-rem 1 - simplified tool_hugehelp.c
-rem 2 - failure
-rem
-:genHugeHelp
-  if "%OS%" == "Windows_NT" setlocal
-  set LC_ALL=C
-  set BASIC=1
-
-  if exist src\tool_hugehelp.c.cvs (
-    copy /Y src\tool_hugehelp.c.cvs src\tool_hugehelp.c 1>NUL 2>&1
-  ) else (
-    echo #include "tool_setup.h"> src\tool_hugehelp.c
-    echo #include "tool_hugehelp.h">> src\tool_hugehelp.c
-    echo.>> src\tool_hugehelp.c
-    echo void hugehelp(void^)>> src\tool_hugehelp.c
-    echo {>> src\tool_hugehelp.c
-    echo #ifdef USE_MANUAL>> src\tool_hugehelp.c
-    echo   fputs("Built-in manual not included\n", stdout^);>> src\tool_hugehelp.c
-    echo #endif>> src\tool_hugehelp.c
-    echo }>> src\tool_hugehelp.c
-  )
-
-  findstr "/C:void hugehelp(void)" src\tool_hugehelp.c 1>NUL 2>&1
-  if errorlevel 1 (
-    if "%OS%" == "Windows_NT" endlocal
-    exit /B 2
-  )
-
-  if "%BASIC%" == "1" (
-    if "%OS%" == "Windows_NT" endlocal
-    exit /B 1
-  )
-
-  if "%OS%" == "Windows_NT" endlocal
-  exit /B 0
-
-rem Function to clean-up local variables under DOS, Windows 3.x and
-rem Windows 9x as setlocal isn't available until Windows NT
-rem
-:dosCleanup
-  set MODE=
-  set BASIC_HUGEHELP=
-  set LC_ALL
-  set BASIC=
-
-  exit /B
-
-:syntax
-  rem Display the help
-  echo.
-  echo Usage: buildconf [-clean]
-  echo.
-  echo -clean    - Removes the files
-  goto error
-
-:unknown
-  echo.
-  echo Error: Unknown argument '%1'
-  goto error
-
-:norepo
-  echo.
-  echo Error: This batch file should only be used with a curl git repository
-  goto error
-
-:nogenmakefile
-  echo.
-  echo Error: Unable to generate Makefile
-  goto error
-
-:nogenhugehelp
-  echo.
-  echo Error: Unable to generate src\tool_hugehelp.c
-  goto error
-
-:nocleanmakefile
-  echo.
-  echo Error: Unable to clean Makefile
-  goto error
-
-:nocleanhugehelp
-  echo.
-  echo Error: Unable to clean src\tool_hugehelp.c
-  goto error
-
-:warning
-  echo.
-  echo Warning: The curl manual could not be integrated in the source. This means when
-  echo you build curl the manual will not be available (curl --manual^). Integration of
-  echo the manual is not required and a summary of the options will still be available
-  echo (curl --help^). To integrate the manual build with configure or cmake.
-  goto success
-
-:error
-  if "%OS%" == "Windows_NT" (
-    endlocal
-  ) else (
-    call :dosCleanup
-  )
-  exit /B 1
-
-:success
-  if "%OS%" == "Windows_NT" (
-    endlocal
-  ) else (
-    call :dosCleanup
-  )
-  exit /B 0
index 3ff73c8e5b7d49dcc40cceda2fa23fabcd0946a2..f0f5c445c678b68be5985f7afe64a9fc4abe81d7 100644 (file)
@@ -303,10 +303,6 @@ prompt](../winbuild/README.md#open-a-command-prompt)):
      % cd curl/winbuild
      % nmake /f Makefile.vc mode=dll WITH_MSH3=dll MSH3_PATH="C:/Program Files/msh3" MACHINE=x64
 
-**Note** - If you encounter a build error with `tool_hugehelp.c` being
-missing, rename `tool_hugehelp.c.cvs` in the same directory to
-`tool_hugehelp.c` and then run `nmake` again.
-
 Run in the `C:/Program Files/msh3/lib` directory, copy `curl.exe` to that
 directory, or copy `msquic.dll` and `msh3.dll` from that directory to the
 `curl.exe` directory. For example:
index 3a225b48128349ea4c023882e33e03fe0a4e4d56..8bcf90027d90b24541c476eb34076b3a8ad9c952 100644 (file)
@@ -500,11 +500,6 @@ Vista
 #  endif /* UNDER_CE */
 #endif /* !CURL_OS */
 
-/* If you want to build curl with the built-in manual */
-#ifndef UNDER_CE
-#define USE_MANUAL 1
-#endif
-
 /* ---------------------------------------------------------------- */
 /*                            Windows CE                            */
 /* ---------------------------------------------------------------- */
index ef6ccbfbf5e055e3ec6b48e657011cfa00df78e3..715a471a7535134dc71bf486563c7f4d6811eb03 100644 (file)
@@ -26,9 +26,10 @@ add_definitions("-DBUILDING_CURL")
 
 set(_curl_cfiles_gen "")
 set(_curl_hfiles_gen "")
+set(_curl_definitions "")
 
 if(ENABLE_CURL_MANUAL AND HAVE_MANUAL_TOOLS)
-  add_definitions("-DUSE_MANUAL")
+  list(APPEND _curl_definitions "USE_MANUAL")
   add_custom_command(
     OUTPUT "tool_hugehelp.c"
     COMMAND ${CMAKE_COMMAND} -E echo "#include \"tool_setup.h\"" > "tool_hugehelp.c"
@@ -43,20 +44,13 @@ if(ENABLE_CURL_MANUAL AND HAVE_MANUAL_TOOLS)
       "${CMAKE_CURRENT_SOURCE_DIR}/tool_hugehelp.h"
       "${CURL_ASCIIPAGE}"
     VERBATIM)
-    list(APPEND _curl_cfiles_gen "tool_hugehelp.c")
-    list(APPEND _curl_hfiles_gen "tool_hugehelp.h")
-else()
-  add_custom_command(
-    OUTPUT "tool_hugehelp.c"
-    COMMAND ${CMAKE_COMMAND} -E echo "#include \"tool_hugehelp.h\"" > "tool_hugehelp.c"
-    DEPENDS
-      "${CMAKE_CURRENT_SOURCE_DIR}/tool_hugehelp.h"
-    VERBATIM)
+  list(APPEND _curl_cfiles_gen "tool_hugehelp.c")
+  list(APPEND _curl_hfiles_gen "tool_hugehelp.h")
 endif()
 
 if(CURL_CA_EMBED_SET)
   if(PERL_FOUND)
-    add_definitions("-DCURL_CA_EMBED")
+    list(APPEND _curl_definitions "CURL_CA_EMBED")
     add_custom_command(
       OUTPUT "tool_ca_embed.c"
       COMMAND "${PERL_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/mk-file-embed.pl" --var curl_ca_embed
@@ -93,6 +87,7 @@ add_executable(
   ${EXE_NAME}
   ${CURL_CFILES} ${_curl_cfiles_gen} ${CURLX_CFILES} ${CURL_HFILES} ${_curl_hfiles_gen}
 )
+target_compile_definitions(${EXE_NAME} PRIVATE ${_curl_definitions})
 
 add_executable(
   ${PROJECT_NAME}::${EXE_NAME}
index 5282aaff0672fe131b4c75526d5ea1a0f92bb67c..6e7fedb8440aa8c9da393a34970458034c0239a5 100644 (file)
@@ -129,9 +129,11 @@ HUGEIT_0 = @echo "  HUGE    " $@;
 HUGEIT_1 =
 HUGEIT_ = $(HUGEIT_0)
 
+curl_CPPFLAGS = $(AM_CPPFLAGS)
+
 if USE_MANUAL
 # Here are the stuff to create a built-in manual
-AM_CPPFLAGS += -DUSE_MANUAL
+curl_CPPFLAGS += -DUSE_MANUAL
 
 $(ASCIIPAGE):
        cd $(top_builddir)/docs && $(MAKE)
@@ -167,7 +169,7 @@ CA_EMBED_CSOURCE = tool_ca_embed.c
 curl_cfiles_gen += $(CA_EMBED_CSOURCE)
 CLEANFILES += $(CA_EMBED_CSOURCE)
 if CURL_CA_EMBED_SET
-AM_CPPFLAGS += -DCURL_CA_EMBED
+curl_CPPFLAGS += -DCURL_CA_EMBED
 MK_FILE_EMBED = $(top_srcdir)/src/mk-file-embed.pl
 $(CA_EMBED_CSOURCE): $(MK_FILE_EMBED) $(CURL_CA_EMBED)
        $(PERL) $(MK_FILE_EMBED) --var curl_ca_embed < $(CURL_CA_EMBED) > $(CA_EMBED_CSOURCE)
index 00f6a22e4a40582b162fdc974a59b60272f5f68f..74cb16ed5b2eae93fc6c5c9b52bb36b7414cb5e5 100755 (executable)
@@ -43,8 +43,8 @@ print <<HEAD
 /*
  * NEVER EVER edit this manually, fix the mkhelp.pl script instead!
  */
-#ifdef USE_MANUAL
 #include "tool_hugehelp.h"
+#ifdef USE_MANUAL
 #include "tool_help.h"
 
 HEAD
index 9837a114c7716853a0c183c789bb3cae6bda4a51..d3aaa41b767610ec80473396084ae43f4443503b 100644 (file)
@@ -30,9 +30,7 @@
 #include "tool_util.h"
 #include "tool_version.h"
 #include "tool_cb_prg.h"
-#ifndef UNITTESTS
 #include "tool_hugehelp.h"
-#endif
 #include "tool_getparam.h"
 #include "terminal.h"
 
@@ -286,7 +284,7 @@ void tool_help(char *category)
         msnprintf(cmdbuf, sizeof(cmdbuf), "\n    --no-%s", a->lname);
       else
         msnprintf(cmdbuf, sizeof(cmdbuf), "\n    %s", category);
-#ifndef UNITTESTS
+#ifdef USE_MANUAL
       if(a->cmd == C_XATTR)
         /* this is the last option, which then ends when FILES starts */
         showhelp("\nALL OPTIONS\n", cmdbuf, "\nFILES");
diff --git a/src/tool_hugehelp.c.cvs b/src/tool_hugehelp.c.cvs
deleted file mode 100644 (file)
index 7711661..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/***************************************************************************
- *                                  _   _ ____  _
- *  Project                     ___| | | |  _ \| |
- *                             / __| | | | |_) | |
- *                            | (__| |_| |  _ <| |___
- *                             \___|\___/|_| \_\_____|
- *
- * Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at https://curl.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- * SPDX-License-Identifier: curl
- *
- ***************************************************************************/
-
-#include "tool_setup.h"
-#include "tool_hugehelp.h"
-
-void hugehelp(void)
-{
-  puts("built-in manual was disabled at build-time");
-}
-
-void showhelp(const char *trigger, const char *arg, const char *endarg)
-{
-  (void)trigger;
-  (void)arg;
-  (void)endarg;
-  hugehelp();
-}
index f00f88702b9725ad41f5b2ce20d06b20285d1792..89df96ce5fe9a12e0b21bf143c67eaa57ad21614 100644 (file)
  ***************************************************************************/
 #include "tool_setup.h"
 
-void showhelp(const char *trigger, const char *arg, const char *endarg);
-
 #ifdef USE_MANUAL
+void showhelp(const char *trigger, const char *arg, const char *endarg);
 void hugehelp(void);
-#else
-/* do nothing if not there */
-#define hugehelp()
 #endif
 
 #endif /* HEADER_CURL_TOOL_HUGEHELP_H */
index 733515a14c516980f176039fa934e5c88f06968d..007a5e0544bf0b2fb7a6fc03f8afd9618559b33e 100644 (file)
@@ -94,9 +94,7 @@
 #include "tool_xattr.h"
 #include "tool_vms.h"
 #include "tool_help.h"
-#ifndef UNITTESTS
 #include "tool_hugehelp.h"
-#endif
 #include "tool_progress.h"
 #include "tool_ipfs.h"
 #include "dynbuf.h"
@@ -107,10 +105,6 @@ CURL_EXTERN CURLcode curl_easy_perform_ev(CURL *easy);
 
 #include "memdebug.h" /* keep this as LAST include */
 
-#ifdef UNITTESTS
-#undef CURL_CA_EMBED
-#endif
-
 #ifdef CURL_CA_EMBED
 #ifndef CURL_DECLARED_CURL_CA_EMBED
 #define CURL_DECLARED_CURL_CA_EMBED
@@ -3191,8 +3185,10 @@ CURLcode operate(struct GlobalConfig *global, int argc, argv_item_t argv[])
         tool_help(global->help_category);
       /* Check if we were asked for the manual */
       else if(res == PARAM_MANUAL_REQUESTED) {
-#ifndef UNITTESTS
+#ifdef USE_MANUAL
         hugehelp();
+#else
+        puts("built-in manual was disabled at build-time");
 #endif
       }
       /* Check if we were asked for the version information */
index cb3172796279df7f88035b4b748862b5ad1d5be6..12ca212e05d7ece6df796770766ba378107d8bc0 100755 (executable)
@@ -566,7 +566,6 @@ if ($configurebuild) {
   logit "copying files to build dir ...";
   if ($^O eq 'MSWin32') {
     system("xcopy /s /q \"$CURLDIR\" .");
-    system("buildconf.bat");
   }
   elsif ($^O eq 'linux') {
     system("cp -afr $CURLDIR/* .");
index 97fc761f295bfd3816bac4e3b89600f09b7e496c..d404279dd3bd5cc3193519e1150afedc1330ccbe 100644 (file)
@@ -61,11 +61,7 @@ CFGSET=true
 LIBCURL_OBJS=$(CSOURCES:.c=.obj)
 
 !INCLUDE "../src/Makefile.inc"
-
-# tool_hugehelp has a special rule
-CURL_OBJS=$(CURL_CFILES:tool_hugehelp.c=)
-
-CURL_OBJS=$(CURL_OBJS:.c=.obj)
+CURL_OBJS=$(CURL_CFILES:.c=.obj)
 
 
 # backwards compatible check for USE_SSPI
index 41fe4d3dc9709e790feb5d4ff93fe0b5d7ebeebd..84863f8dd1c75a876d5beca1f2394b12bc11577f 100644 (file)
@@ -99,6 +99,11 @@ CURL_RESFLAGS = /i../include
 LIBCURL_SRC_DIR = ..\lib
 CURL_SRC_DIR = ..\src
 
+!IF EXISTS($(CURL_SRC_DIR)\tool_hugehelp.c)
+USE_MANUAL   = true
+CFLAGS       = $(CFLAGS) /DUSE_MANUAL
+!ENDIF
+
 !IFNDEF WITH_DEVEL
 WITH_DEVEL   = ../../deps
 !ENDIF
@@ -684,7 +689,7 @@ CURL_LIBCURL_LIBNAME=$(LIB_NAME_IMP)
 !ENDIF
 !ENDIF
 
-CURL_FROM_LIBCURL=$(CURL_DIROBJ)\tool_hugehelp.obj \
+CURL_FROM_LIBCURL=\
  $(CURL_DIROBJ)\nonblock.obj \
  $(CURL_DIROBJ)\strtoofft.obj \
  $(CURL_DIROBJ)\warnless.obj \
@@ -694,6 +699,10 @@ CURL_FROM_LIBCURL=$(CURL_DIROBJ)\tool_hugehelp.obj \
  $(CURL_DIROBJ)\dynbuf.obj \
  $(CURL_DIROBJ)\base64.obj
 
+!IFDEF USE_MANUAL
+CURL_FROM_LIBCURL = $(CURL_FROM_LIBCURL) $(CURL_DIROBJ)\tool_hugehelp.obj
+!ENDIF
+
 $(PROGRAM_NAME): $(CURL_DIROBJ) $(CURL_FROM_LIBCURL) $(EXE_OBJS)
        $(CURL_LINK) $(CURL_LFLAGS) $(CURL_LIBCURL_LIBNAME) $(WIN_LIBS) $(CURL_FROM_LIBCURL) $(EXE_OBJS)
        $(MANIFESTTOOL)
@@ -701,8 +710,10 @@ $(PROGRAM_NAME): $(CURL_DIROBJ) $(CURL_FROM_LIBCURL) $(EXE_OBJS)
 {$(CURL_SRC_DIR)\}.c{$(CURL_DIROBJ)\}.obj::
        $(CURL_CC) $(CURL_CFLAGS) /Fo"$(CURL_DIROBJ)\\"  $<
 
+!IFDEF USE_MANUAL
 $(CURL_DIROBJ)\tool_hugehelp.obj: $(CURL_SRC_DIR)\tool_hugehelp.c
        $(CURL_CC) $(CURL_CFLAGS) /Zm200 /Fo"$@" $(CURL_SRC_DIR)\tool_hugehelp.c
+!ENDIF
 $(CURL_DIROBJ)\nonblock.obj: ../lib/nonblock.c
        $(CURL_CC) $(CURL_CFLAGS) /Fo"$@" ../lib/nonblock.c
 $(CURL_DIROBJ)\strtoofft.obj: ../lib/strtoofft.c