mirror of
https://github.com/curl/curl.git
synced 2026-01-18 17:21:26 +01:00
tidy-up: merge root packages directory into projects
To simplify the directory layout. - OS400 and vms support move from `packages` to `projects`. - Windows README and `generate.bat` files move from `projects` to `projects/Windows`. Closes #20271
This commit is contained in:
1
.github/labeler.yml
vendored
1
.github/labeler.yml
vendored
@@ -72,7 +72,6 @@ build:
|
||||
configure.ac,\
|
||||
m4/**,\
|
||||
Makefile.*,\
|
||||
packages/**,\
|
||||
projects/**,\
|
||||
lib/libcurl.def,\
|
||||
tests/cmake/**\
|
||||
|
||||
3
.github/scripts/codespell.sh
vendored
3
.github/scripts/codespell.sh
vendored
@@ -12,7 +12,8 @@ codespell \
|
||||
--skip '.github/scripts/pyspelling.words' \
|
||||
--skip '.github/scripts/typos.toml' \
|
||||
--skip 'docs/THANKS' \
|
||||
--skip 'packages/*' \
|
||||
--skip 'projects/OS400/*' \
|
||||
--skip 'projects/vms/*' \
|
||||
--skip 'scripts/wcurl' \
|
||||
--ignore-regex '.*spellchecker:disable-line' \
|
||||
--ignore-words '.github/scripts/codespell-ignore.words' \
|
||||
|
||||
2
.github/scripts/distfiles.sh
vendored
2
.github/scripts/distfiles.sh
vendored
@@ -21,7 +21,7 @@ gitonly=".git*
|
||||
^docs/examples/adddocsref.pl
|
||||
^docs/tests/CI.md
|
||||
^docs/THANKS-filter
|
||||
^projects/*
|
||||
^projects/Windows/*
|
||||
^scripts/ciconfig.pl
|
||||
^scripts/cijobs.pl
|
||||
^scripts/contributors.sh
|
||||
|
||||
3
.github/scripts/typos.toml
vendored
3
.github/scripts/typos.toml
vendored
@@ -24,7 +24,8 @@ extend-exclude = [
|
||||
".github/scripts/codespell-ignore.words",
|
||||
".github/scripts/pyspelling.words",
|
||||
"docs/THANKS",
|
||||
"packages/*",
|
||||
"projects/OS400/*",
|
||||
"projects/vms/*",
|
||||
"projects/Windows/tmpl/curl.vcxproj",
|
||||
"projects/Windows/tmpl/libcurl.vcxproj",
|
||||
"scripts/wcurl",
|
||||
|
||||
2
.github/workflows/checkdocs.yml
vendored
2
.github/workflows/checkdocs.yml
vendored
@@ -124,7 +124,7 @@ jobs:
|
||||
persist-credentials: false
|
||||
|
||||
- name: 'badwords'
|
||||
run: .github/scripts/badwords.pl -w .github/scripts/badwords.ok '**.md' packages/OS400/README.OS400 < .github/scripts/badwords.txt
|
||||
run: .github/scripts/badwords.pl -w .github/scripts/badwords.ok '**.md' projects/OS400/README.OS400 < .github/scripts/badwords.txt
|
||||
|
||||
- name: 'verify synopsis'
|
||||
run: .github/scripts/verify-synopsis.pl docs/libcurl/curl*.md
|
||||
|
||||
2
.github/workflows/codeql.yml
vendored
2
.github/workflows/codeql.yml
vendored
@@ -13,7 +13,6 @@ name: 'CodeQL'
|
||||
- '**/*.md'
|
||||
- '.circleci/**'
|
||||
- 'appveyor.*'
|
||||
- 'packages/**'
|
||||
- 'projects/**'
|
||||
- 'tests/data/**'
|
||||
pull_request:
|
||||
@@ -23,7 +22,6 @@ name: 'CodeQL'
|
||||
- '**/*.md'
|
||||
- '.circleci/**'
|
||||
- 'appveyor.*'
|
||||
- 'packages/**'
|
||||
- 'projects/**'
|
||||
- 'tests/data/**'
|
||||
schedule:
|
||||
|
||||
2
.github/workflows/curl-for-win.yml
vendored
2
.github/workflows/curl-for-win.yml
vendored
@@ -14,7 +14,6 @@ name: 'curl-for-win'
|
||||
- '.circleci/**'
|
||||
- 'appveyor.*'
|
||||
- 'Dockerfile'
|
||||
- 'packages/**'
|
||||
- 'projects/**'
|
||||
pull_request:
|
||||
branches:
|
||||
@@ -24,7 +23,6 @@ name: 'curl-for-win'
|
||||
- '.circleci/**'
|
||||
- 'appveyor.*'
|
||||
- 'Dockerfile'
|
||||
- 'packages/**'
|
||||
- 'projects/**'
|
||||
|
||||
concurrency:
|
||||
|
||||
2
.github/workflows/fuzz.yml
vendored
2
.github/workflows/fuzz.yml
vendored
@@ -16,7 +16,6 @@ name: 'Fuzzer'
|
||||
- 'appveyor.*'
|
||||
- 'CMake/**'
|
||||
- 'Dockerfile'
|
||||
- 'packages/**'
|
||||
- 'projects/**'
|
||||
- 'tests/data/**'
|
||||
pull_request:
|
||||
@@ -29,7 +28,6 @@ name: 'Fuzzer'
|
||||
- 'appveyor.*'
|
||||
- 'CMake/**'
|
||||
- 'Dockerfile'
|
||||
- 'packages/**'
|
||||
- 'projects/**'
|
||||
- 'tests/data/**'
|
||||
|
||||
|
||||
2
.github/workflows/http3-linux.yml
vendored
2
.github/workflows/http3-linux.yml
vendored
@@ -14,7 +14,6 @@ name: 'Linux HTTP/3'
|
||||
- '.circleci/**'
|
||||
- 'appveyor.*'
|
||||
- 'Dockerfile'
|
||||
- 'packages/**'
|
||||
- 'projects/**'
|
||||
pull_request:
|
||||
branches:
|
||||
@@ -24,7 +23,6 @@ name: 'Linux HTTP/3'
|
||||
- '.circleci/**'
|
||||
- 'appveyor.*'
|
||||
- 'Dockerfile'
|
||||
- 'packages/**'
|
||||
- 'projects/**'
|
||||
|
||||
concurrency:
|
||||
|
||||
2
.github/workflows/linux-old.yml
vendored
2
.github/workflows/linux-old.yml
vendored
@@ -28,7 +28,6 @@ name: 'Linux Old'
|
||||
- '.circleci/**'
|
||||
- 'appveyor.*'
|
||||
- 'Dockerfile'
|
||||
- 'packages/**'
|
||||
- 'projects/**'
|
||||
pull_request:
|
||||
branches:
|
||||
@@ -38,7 +37,6 @@ name: 'Linux Old'
|
||||
- '.circleci/**'
|
||||
- 'appveyor.*'
|
||||
- 'Dockerfile'
|
||||
- 'packages/**'
|
||||
- 'projects/**'
|
||||
|
||||
concurrency:
|
||||
|
||||
2
.github/workflows/linux.yml
vendored
2
.github/workflows/linux.yml
vendored
@@ -13,7 +13,6 @@ name: 'Linux'
|
||||
- '.circleci/**'
|
||||
- 'appveyor.*'
|
||||
- 'Dockerfile'
|
||||
- 'packages/**'
|
||||
- 'projects/**'
|
||||
pull_request:
|
||||
branches:
|
||||
@@ -22,7 +21,6 @@ name: 'Linux'
|
||||
- '.circleci/**'
|
||||
- 'appveyor.*'
|
||||
- 'Dockerfile'
|
||||
- 'packages/**'
|
||||
- 'projects/**'
|
||||
|
||||
concurrency:
|
||||
|
||||
2
.github/workflows/macos.yml
vendored
2
.github/workflows/macos.yml
vendored
@@ -14,7 +14,6 @@ name: 'macOS'
|
||||
- '.circleci/**'
|
||||
- 'appveyor.*'
|
||||
- 'Dockerfile'
|
||||
- 'packages/**'
|
||||
- 'projects/**'
|
||||
pull_request:
|
||||
branches:
|
||||
@@ -24,7 +23,6 @@ name: 'macOS'
|
||||
- '.circleci/**'
|
||||
- 'appveyor.*'
|
||||
- 'Dockerfile'
|
||||
- 'packages/**'
|
||||
- 'projects/**'
|
||||
|
||||
concurrency:
|
||||
|
||||
2
.github/workflows/non-native.yml
vendored
2
.github/workflows/non-native.yml
vendored
@@ -14,7 +14,6 @@ name: 'non-native'
|
||||
- '.circleci/**'
|
||||
- 'appveyor.*'
|
||||
- 'Dockerfile'
|
||||
- 'packages/**'
|
||||
- 'projects/**'
|
||||
pull_request:
|
||||
branches:
|
||||
@@ -24,7 +23,6 @@ name: 'non-native'
|
||||
- '.circleci/**'
|
||||
- 'appveyor.*'
|
||||
- 'Dockerfile'
|
||||
- 'packages/**'
|
||||
- 'projects/**'
|
||||
|
||||
concurrency:
|
||||
|
||||
2
.github/workflows/windows.yml
vendored
2
.github/workflows/windows.yml
vendored
@@ -14,7 +14,6 @@ name: 'Windows'
|
||||
- '.circleci/**'
|
||||
- 'appveyor.*'
|
||||
- 'Dockerfile'
|
||||
- 'packages/**'
|
||||
- 'projects/**'
|
||||
pull_request:
|
||||
branches:
|
||||
@@ -24,7 +23,6 @@ name: 'Windows'
|
||||
- '.circleci/**'
|
||||
- 'appveyor.*'
|
||||
- 'Dockerfile'
|
||||
- 'packages/**'
|
||||
- 'projects/**'
|
||||
|
||||
concurrency:
|
||||
|
||||
@@ -71,7 +71,7 @@ DISTCLEANFILES = buildinfo.txt
|
||||
bin_SCRIPTS = curl-config
|
||||
|
||||
SUBDIRS = lib docs src scripts
|
||||
DIST_SUBDIRS = $(SUBDIRS) tests packages include docs
|
||||
DIST_SUBDIRS = $(SUBDIRS) tests projects include docs
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = libcurl.pc
|
||||
@@ -169,7 +169,7 @@ checksrc:
|
||||
(cd tests && $(MAKE) checksrc)
|
||||
(cd include/curl && $(MAKE) checksrc)
|
||||
(cd docs/examples && $(MAKE) checksrc)
|
||||
(cd packages && $(MAKE) checksrc)
|
||||
(cd projects && $(MAKE) checksrc)
|
||||
|
||||
lint: checksrc
|
||||
@PERL@ $(top_srcdir)/scripts/spacecheck.pl
|
||||
|
||||
12
REUSE.toml
12
REUSE.toml
@@ -20,12 +20,12 @@ path = [
|
||||
"docs/THANKS",
|
||||
"lib/libcurl.vers.in",
|
||||
"lib/libcurl.def",
|
||||
"packages/OS400/README.OS400",
|
||||
"packages/vms/build_vms.com",
|
||||
"packages/vms/curl_release_note_start.txt",
|
||||
"packages/vms/curlmsg.sdl",
|
||||
"packages/vms/macro32_exactcase.patch",
|
||||
"packages/vms/readme",
|
||||
"projects/OS400/README.OS400",
|
||||
"projects/vms/build_vms.com",
|
||||
"projects/vms/curl_release_note_start.txt",
|
||||
"projects/vms/curlmsg.sdl",
|
||||
"projects/vms/macro32_exactcase.patch",
|
||||
"projects/vms/readme",
|
||||
"projects/Windows/**",
|
||||
"README",
|
||||
"RELEASE-NOTES",
|
||||
|
||||
@@ -107,9 +107,9 @@ if [ "${BUILD_SYSTEM}" = 'CMake' ]; then
|
||||
curl="_bld/src/${PRJ_CFG}/curl.exe"
|
||||
elif [ "${BUILD_SYSTEM}" = 'VisualStudioSolution' ]; then
|
||||
(
|
||||
cd projects
|
||||
cd projects/Windows
|
||||
./generate.bat "${VC_VERSION}"
|
||||
msbuild.exe -maxcpucount "-property:Configuration=${PRJ_CFG}" "-property:Platform=${PLAT}" "Windows/${VC_VERSION}/curl-all.sln"
|
||||
msbuild.exe -maxcpucount "-property:Configuration=${PRJ_CFG}" "-property:Platform=${PLAT}" "${VC_VERSION}/curl-all.sln"
|
||||
)
|
||||
[ "${PLAT}" = 'x64' ] && platdir='Win64' || platdir='Win32'
|
||||
[[ "${PRJ_CFG}" = *'Debug'* ]] && binsuffix='d' || binsuffix=''
|
||||
|
||||
@@ -183,7 +183,8 @@ skip_commits:
|
||||
- '.circleci/*'
|
||||
- '.github/**/*'
|
||||
- 'Dockerfile'
|
||||
- 'packages/**/*'
|
||||
- 'projects/OS400/*'
|
||||
- 'projects/vms/*'
|
||||
|
||||
#artifacts:
|
||||
# - path: '**/curl.exe'
|
||||
|
||||
@@ -5550,8 +5550,8 @@ AC_CONFIG_FILES([\
|
||||
tests/tunit/Makefile \
|
||||
tests/http/config.ini \
|
||||
tests/http/Makefile \
|
||||
packages/Makefile \
|
||||
packages/vms/Makefile \
|
||||
projects/Makefile \
|
||||
projects/vms/Makefile \
|
||||
libcurl.pc
|
||||
])
|
||||
AC_CONFIG_FILES([curl-config], [chmod +x curl-config])
|
||||
|
||||
@@ -581,9 +581,9 @@ Configuration element | Equivalent CMake options
|
||||
|
||||
For example these commands:
|
||||
|
||||
> cd projects
|
||||
> cd projects/Windows
|
||||
> ./generate.bat VC12
|
||||
> msbuild "-property:Configuration=DLL Debug - DLL Windows SSPI - DLL WinIDN" Windows/VC12/curl-all.sln
|
||||
> msbuild "-property:Configuration=DLL Debug - DLL Windows SSPI - DLL WinIDN" VC12/curl-all.sln
|
||||
|
||||
translate to:
|
||||
|
||||
|
||||
@@ -487,7 +487,7 @@ For IBM i (formerly OS/400), you can use curl in two different ways:
|
||||
|
||||
- Natively, running in the **ILE**. The obvious use is being able to call curl
|
||||
from ILE C or RPG applications.
|
||||
- You need to build this from source. See `packages/OS400/README` for the ILE
|
||||
- You need to build this from source. See `projects/OS400/README` for the ILE
|
||||
specific build instructions.
|
||||
- In the **PASE** environment, which runs AIX programs. curl is built as it
|
||||
would be on AIX.
|
||||
|
||||
@@ -2933,7 +2933,7 @@ static CURLcode setopt_blob(struct Curl_easy *data, CURLoption option,
|
||||
|
||||
/*
|
||||
* Do not make Curl_vsetopt() static: it is called from
|
||||
* packages/OS400/ccsidcurl.c.
|
||||
* projects/OS400/ccsidcurl.c.
|
||||
*/
|
||||
CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param)
|
||||
{
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
<!--
|
||||
Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
|
||||
SPDX-License-Identifier: curl
|
||||
-->
|
||||
|
||||
# Packages
|
||||
|
||||
This directory and all its subdirectories are for special package
|
||||
information, templates, scripts and docs. The files herein should be of use
|
||||
for those of you who want to package curl in a binary or source format for
|
||||
these platforms.
|
||||
@@ -225,7 +225,7 @@ must be released with curl_free().
|
||||
Standard compilation environment does support neither autotools nor make; in
|
||||
fact, few common utilities are available. As a consequence, the config-os400.h
|
||||
has been coded manually and the compilation scripts are a set of shell scripts
|
||||
stored in subdirectory packages/OS400.
|
||||
stored in subdirectory projects/OS400.
|
||||
|
||||
The test environment is currently not supported on OS/400.
|
||||
|
||||
@@ -273,7 +273,7 @@ _ Install the curl source directory in IFS. Do NOT install it in the
|
||||
installation target directory (which defaults to /curl).
|
||||
_ Enter Qshell (QSH, not PASE)
|
||||
_ Change current directory to the curl installation directory
|
||||
_ Change current directory to ./packages/OS400
|
||||
_ Change current directory to ./projects/OS400
|
||||
- If you want to change the default configuration parameters like debug info
|
||||
generation, optimization level, listing option, target library, ZLIB/LIBSSH2
|
||||
availability and location, etc., copy file config400.default to
|
||||
@@ -50,7 +50,7 @@ do case "${SCRIPTDIR}" in
|
||||
esac
|
||||
done
|
||||
|
||||
# The script directory is supposed to be in $TOPDIR/packages/os400.
|
||||
# The script directory is supposed to be in $TOPDIR/projects/os400.
|
||||
|
||||
TOPDIR=$(dirname "${SCRIPTDIR}")
|
||||
TOPDIR=$(dirname "${TOPDIR}")
|
||||
@@ -197,7 +197,7 @@ make_module()
|
||||
CMD="${CMD} LOCALETYPE(*LOCALE) FLAG(10)"
|
||||
CMD="${CMD} INCDIR('${QADRTDIR}/include'"
|
||||
CMD="${CMD} '${TOPDIR}/include/curl' '${TOPDIR}/include' '${SRCDIR}'"
|
||||
CMD="${CMD} '${TOPDIR}/packages/OS400'"
|
||||
CMD="${CMD} '${TOPDIR}/projects/OS400'"
|
||||
|
||||
if [ "${WITH_ZLIB}" != "0" ]
|
||||
then CMD="${CMD} '${ZLIB_INCLUDE}'"
|
||||
@@ -4,146 +4,9 @@ Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
SPDX-License-Identifier: curl
|
||||
-->
|
||||
|
||||
Building via IDE Project Files
|
||||
==============================
|
||||
# Packages
|
||||
|
||||
This document describes how to compile, build and install curl and libcurl
|
||||
from sources using legacy versions of Visual Studio 2010 - 2013.
|
||||
|
||||
You need to generate the project files before using them. Please run "generate
|
||||
-help" for usage details.
|
||||
|
||||
To generate project files for recent versions of Visual Studio instead, use
|
||||
cmake. Refer to INSTALL-CMAKE.md in the docs directory.
|
||||
|
||||
## Directory Structure
|
||||
|
||||
The following directory structure is used for the legacy project files:
|
||||
|
||||
somedirectory\
|
||||
|_curl
|
||||
|_projects
|
||||
|_<platform>
|
||||
|_<ide>
|
||||
|_lib
|
||||
|_src
|
||||
|
||||
This structure allows for side-by-side compilation of curl on the same machine
|
||||
using different versions of a given compiler (for example VC10 and VC12) and
|
||||
allows for your own application or product to be compiled against those
|
||||
variants of libcurl for example.
|
||||
|
||||
Note: Typically this side-by-side compilation is generally only required when
|
||||
a library is being compiled against dynamic runtime libraries.
|
||||
|
||||
## Dependencies
|
||||
|
||||
The projects files also support build configurations that require third party
|
||||
dependencies such as OpenSSL and libssh2. If you wish to support these, you
|
||||
also need to download and compile those libraries as well.
|
||||
|
||||
To support compilation of these libraries using different versions of
|
||||
compilers, the following directory structure has been used for both the output
|
||||
of curl and libcurl as well as these dependencies.
|
||||
|
||||
somedirectory\
|
||||
|_curl
|
||||
| |_ build
|
||||
| |_<architecture>
|
||||
| |_<ide>
|
||||
| |_<configuration>
|
||||
| |_lib
|
||||
| |_src
|
||||
|
|
||||
|_openssl
|
||||
| |_ build
|
||||
| |_<architecture>
|
||||
| |_VC <version>
|
||||
| |_<configuration>
|
||||
|
|
||||
|_libssh2
|
||||
|_ build
|
||||
|_<architecture>
|
||||
|_VC <version>
|
||||
|_<configuration>
|
||||
|
||||
As OpenSSL does not support side-by-side compilation when using different
|
||||
versions of Visual Studio, a helper batch file has been provided to assist
|
||||
with this. Please run `build-openssl -help` for usage details.
|
||||
|
||||
## Building with Visual C++
|
||||
|
||||
To build with VC++, you have to first install VC++ which is part of Visual
|
||||
Studio.
|
||||
|
||||
Once you have VC++ installed you should launch the application and open one of
|
||||
the solution or workspace files. The VC directory names are based on the
|
||||
version of Visual C++ that you use. Each version of Visual Studio has a
|
||||
default version of Visual C++. We offer these versions:
|
||||
|
||||
- VC10 (Visual Studio 2010 Version 10.0)
|
||||
- VC11 (Visual Studio 2012 Version 11.0)
|
||||
- VC12 (Visual Studio 2013 Version 12.0)
|
||||
|
||||
Separate solutions are provided for both libcurl and the curl command line
|
||||
tool as well as a solution that includes both projects. libcurl.sln, curl.sln
|
||||
and curl-all.sln, respectively. We recommend using curl-all.sln to build both
|
||||
projects.
|
||||
|
||||
For example, if you are using Visual Studio 2010 then you should be able to
|
||||
use `VC10\curl-all.sln` to build curl and libcurl.
|
||||
|
||||
## Running DLL based configurations
|
||||
|
||||
If you are a developer and plan to run the curl tool from Visual Studio with
|
||||
any third-party libraries (such as OpenSSL or libssh2) then you need to add
|
||||
the search path of these DLLs to the configuration's PATH environment. To do
|
||||
that:
|
||||
|
||||
1. Open the 'curl-all.sln' or 'curl.sln' solutions
|
||||
2. Right-click on the 'curl' project and select Properties
|
||||
3. Navigate to 'Configuration Properties > Debugging > Environment'
|
||||
4. Add `PATH='Path to DLL';C:\Windows\System32;C:\Windows;C:\Windows\System32\Wbem`
|
||||
|
||||
... where `Path to DLL` is the configuration specific path. For example the
|
||||
following configurations in Visual Studio 2010 might be:
|
||||
|
||||
DLL Debug - DLL OpenSSL (Win32):
|
||||
|
||||
PATH=..\..\..\..\..\openssl\build\Win32\VC10\DLL Debug;C:\Windows\System32;
|
||||
C:\Windows;C:\Windows\System32\Wbem
|
||||
|
||||
DLL Debug - DLL OpenSSL (x64):
|
||||
|
||||
PATH=..\..\..\..\..\openssl\build\Win64\VC10\DLL Debug;C:\Windows\System32;
|
||||
C:\Windows;C:\Windows\System32\Wbem
|
||||
|
||||
If you are using a configuration that uses multiple third-party library DLLs
|
||||
(such as `DLL Debug - DLL OpenSSL - DLL libssh2`) then 'Path to DLL' need to
|
||||
contain the path to both of these.
|
||||
|
||||
## Notes
|
||||
|
||||
The following keywords have been used in the directory hierarchy:
|
||||
|
||||
- `<platform>` - The platform (For example: Windows)
|
||||
- `<ide>` - The IDE (For example: VC10)
|
||||
- `<architecture>` - The platform architecture (For example: Win32, Win64)
|
||||
- `<configuration>` - The target configuration (For example: DLL Debug, LIB
|
||||
Release - LIB OpenSSL)
|
||||
|
||||
Should you wish to help out with some of the items on the TODO list, or find
|
||||
bugs in the project files that need correcting, and would like to submit
|
||||
updated files back then please note that, whilst the solution files can be
|
||||
edited directly, the templates for the project files (which are stored in the
|
||||
git repository) need to be modified rather than the generated project files
|
||||
that Visual Studio uses.
|
||||
|
||||
## Legacy Windows and SSL
|
||||
|
||||
Some of the project configurations use Schannel (Windows SSPI), the native SSL
|
||||
library that comes with the Windows OS. Schannel in Windows 8 and earlier is
|
||||
not able to connect to servers that no longer support the legacy handshakes
|
||||
and algorithms used by those versions. If you are using curl in one of those
|
||||
earlier versions of Windows you should choose another SSL backend like
|
||||
OpenSSL.
|
||||
This directory and all its subdirectories are for special package
|
||||
information, templates, scripts and docs. The files herein should be of use
|
||||
for those of you who want to package curl in a binary or source format for
|
||||
these platforms.
|
||||
|
||||
149
projects/Windows/README.md
Normal file
149
projects/Windows/README.md
Normal file
@@ -0,0 +1,149 @@
|
||||
<!--
|
||||
Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
|
||||
SPDX-License-Identifier: curl
|
||||
-->
|
||||
|
||||
Building via IDE Project Files
|
||||
==============================
|
||||
|
||||
This document describes how to compile, build and install curl and libcurl
|
||||
from sources using legacy versions of Visual Studio 2010 - 2013.
|
||||
|
||||
You need to generate the project files before using them. Please run "generate
|
||||
-help" for usage details.
|
||||
|
||||
To generate project files for recent versions of Visual Studio instead, use
|
||||
cmake. Refer to INSTALL-CMAKE.md in the docs directory.
|
||||
|
||||
## Directory Structure
|
||||
|
||||
The following directory structure is used for the legacy project files:
|
||||
|
||||
somedirectory\
|
||||
|_curl
|
||||
|_projects
|
||||
|_<platform>
|
||||
|_<ide>
|
||||
|_lib
|
||||
|_src
|
||||
|
||||
This structure allows for side-by-side compilation of curl on the same machine
|
||||
using different versions of a given compiler (for example VC10 and VC12) and
|
||||
allows for your own application or product to be compiled against those
|
||||
variants of libcurl for example.
|
||||
|
||||
Note: Typically this side-by-side compilation is generally only required when
|
||||
a library is being compiled against dynamic runtime libraries.
|
||||
|
||||
## Dependencies
|
||||
|
||||
The projects files also support build configurations that require third party
|
||||
dependencies such as OpenSSL and libssh2. If you wish to support these, you
|
||||
also need to download and compile those libraries as well.
|
||||
|
||||
To support compilation of these libraries using different versions of
|
||||
compilers, the following directory structure has been used for both the output
|
||||
of curl and libcurl as well as these dependencies.
|
||||
|
||||
somedirectory\
|
||||
|_curl
|
||||
| |_ build
|
||||
| |_<architecture>
|
||||
| |_<ide>
|
||||
| |_<configuration>
|
||||
| |_lib
|
||||
| |_src
|
||||
|
|
||||
|_openssl
|
||||
| |_ build
|
||||
| |_<architecture>
|
||||
| |_VC <version>
|
||||
| |_<configuration>
|
||||
|
|
||||
|_libssh2
|
||||
|_ build
|
||||
|_<architecture>
|
||||
|_VC <version>
|
||||
|_<configuration>
|
||||
|
||||
As OpenSSL does not support side-by-side compilation when using different
|
||||
versions of Visual Studio, a helper batch file has been provided to assist
|
||||
with this. Please run `build-openssl -help` for usage details.
|
||||
|
||||
## Building with Visual C++
|
||||
|
||||
To build with VC++, you have to first install VC++ which is part of Visual
|
||||
Studio.
|
||||
|
||||
Once you have VC++ installed you should launch the application and open one of
|
||||
the solution or workspace files. The VC directory names are based on the
|
||||
version of Visual C++ that you use. Each version of Visual Studio has a
|
||||
default version of Visual C++. We offer these versions:
|
||||
|
||||
- VC10 (Visual Studio 2010 Version 10.0)
|
||||
- VC11 (Visual Studio 2012 Version 11.0)
|
||||
- VC12 (Visual Studio 2013 Version 12.0)
|
||||
|
||||
Separate solutions are provided for both libcurl and the curl command line
|
||||
tool as well as a solution that includes both projects. libcurl.sln, curl.sln
|
||||
and curl-all.sln, respectively. We recommend using curl-all.sln to build both
|
||||
projects.
|
||||
|
||||
For example, if you are using Visual Studio 2010 then you should be able to
|
||||
use `VC10\curl-all.sln` to build curl and libcurl.
|
||||
|
||||
## Running DLL based configurations
|
||||
|
||||
If you are a developer and plan to run the curl tool from Visual Studio with
|
||||
any third-party libraries (such as OpenSSL or libssh2) then you need to add
|
||||
the search path of these DLLs to the configuration's PATH environment. To do
|
||||
that:
|
||||
|
||||
1. Open the 'curl-all.sln' or 'curl.sln' solutions
|
||||
2. Right-click on the 'curl' project and select Properties
|
||||
3. Navigate to 'Configuration Properties > Debugging > Environment'
|
||||
4. Add `PATH='Path to DLL';C:\Windows\System32;C:\Windows;C:\Windows\System32\Wbem`
|
||||
|
||||
... where `Path to DLL` is the configuration specific path. For example the
|
||||
following configurations in Visual Studio 2010 might be:
|
||||
|
||||
DLL Debug - DLL OpenSSL (Win32):
|
||||
|
||||
PATH=..\..\..\..\..\openssl\build\Win32\VC10\DLL Debug;C:\Windows\System32;
|
||||
C:\Windows;C:\Windows\System32\Wbem
|
||||
|
||||
DLL Debug - DLL OpenSSL (x64):
|
||||
|
||||
PATH=..\..\..\..\..\openssl\build\Win64\VC10\DLL Debug;C:\Windows\System32;
|
||||
C:\Windows;C:\Windows\System32\Wbem
|
||||
|
||||
If you are using a configuration that uses multiple third-party library DLLs
|
||||
(such as `DLL Debug - DLL OpenSSL - DLL libssh2`) then 'Path to DLL' need to
|
||||
contain the path to both of these.
|
||||
|
||||
## Notes
|
||||
|
||||
The following keywords have been used in the directory hierarchy:
|
||||
|
||||
- `<platform>` - The platform (For example: Windows)
|
||||
- `<ide>` - The IDE (For example: VC10)
|
||||
- `<architecture>` - The platform architecture (For example: Win32, Win64)
|
||||
- `<configuration>` - The target configuration (For example: DLL Debug, LIB
|
||||
Release - LIB OpenSSL)
|
||||
|
||||
Should you wish to help out with some of the items on the TODO list, or find
|
||||
bugs in the project files that need correcting, and would like to submit
|
||||
updated files back then please note that, whilst the solution files can be
|
||||
edited directly, the templates for the project files (which are stored in the
|
||||
git repository) need to be modified rather than the generated project files
|
||||
that Visual Studio uses.
|
||||
|
||||
## Legacy Windows and SSL
|
||||
|
||||
Some of the project configurations use Schannel (Windows SSPI), the native SSL
|
||||
library that comes with the Windows OS. Schannel in Windows 8 and earlier is
|
||||
not able to connect to servers that no longer support the legacy handshakes
|
||||
and algorithms used by those versions. If you are using curl in one of those
|
||||
earlier versions of Windows you should choose another SSL backend like
|
||||
OpenSSL.
|
||||
@@ -39,7 +39,7 @@ rem ***************************************************************************
|
||||
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
|
||||
if not exist ..\..\GIT-INFO.md goto norepo
|
||||
|
||||
:parseArgs
|
||||
if "%~1" == "" goto start
|
||||
@@ -109,15 +109,15 @@ rem
|
||||
:generate_proj
|
||||
echo.
|
||||
echo Generating %1 project files
|
||||
if not exist Windows\%1\lib md Windows\%1\lib
|
||||
if not exist Windows\%1\src md Windows\%1\src
|
||||
call :generate %1 Windows\tmpl\curl-all.sln Windows\%1\curl-all.sln
|
||||
call :generate %1 Windows\tmpl\curl.sln Windows\%1\src\curl.sln
|
||||
call :generate %1 Windows\tmpl\curl.vcxproj Windows\%1\src\curl.vcxproj
|
||||
call :generate %1 Windows\tmpl\curl.vcxproj.filters Windows\%1\src\curl.vcxproj.filters
|
||||
call :generate %1 Windows\tmpl\libcurl.sln Windows\%1\lib\libcurl.sln
|
||||
call :generate %1 Windows\tmpl\libcurl.vcxproj Windows\%1\lib\libcurl.vcxproj
|
||||
call :generate %1 Windows\tmpl\libcurl.vcxproj.filters Windows\%1\lib\libcurl.vcxproj.filters
|
||||
if not exist %1\lib md %1\lib
|
||||
if not exist %1\src md %1\src
|
||||
call :generate %1 tmpl\curl-all.sln %1\curl-all.sln
|
||||
call :generate %1 tmpl\curl.sln %1\src\curl.sln
|
||||
call :generate %1 tmpl\curl.vcxproj %1\src\curl.vcxproj
|
||||
call :generate %1 tmpl\curl.vcxproj.filters %1\src\curl.vcxproj.filters
|
||||
call :generate %1 tmpl\libcurl.sln %1\lib\libcurl.sln
|
||||
call :generate %1 tmpl\libcurl.vcxproj %1\lib\libcurl.vcxproj
|
||||
call :generate %1 tmpl\libcurl.vcxproj.filters %1\lib\libcurl.vcxproj.filters
|
||||
|
||||
exit /B
|
||||
|
||||
@@ -128,13 +128,13 @@ rem
|
||||
:clean_proj
|
||||
echo.
|
||||
echo Removing %1 project files
|
||||
call :clean Windows\%1\curl-all.sln
|
||||
call :clean Windows\%1\src\curl.sln
|
||||
call :clean Windows\%1\src\curl.vcxproj
|
||||
call :clean Windows\%1\src\curl.vcxproj.filters
|
||||
call :clean Windows\%1\lib\libcurl.sln
|
||||
call :clean Windows\%1\lib\libcurl.vcxproj
|
||||
call :clean Windows\%1\lib\libcurl.vcxproj.filters
|
||||
call :clean %1\curl-all.sln
|
||||
call :clean %1\src\curl.sln
|
||||
call :clean %1\src\curl.vcxproj
|
||||
call :clean %1\src\curl.vcxproj.filters
|
||||
call :clean %1\lib\libcurl.sln
|
||||
call :clean %1\lib\libcurl.vcxproj
|
||||
call :clean %1\lib\libcurl.vcxproj.filters
|
||||
|
||||
exit /B
|
||||
|
||||
@@ -189,47 +189,47 @@ rem
|
||||
set "var=!var:*:=!"
|
||||
|
||||
if "!var!" == "CURL_SRC_C_FILES" (
|
||||
for /f "delims=" %%c in ('dir /b ..\src\*.c') do (
|
||||
for /f "delims=" %%c in ('dir /b ..\..\src\*.c') do (
|
||||
if /i "%%c" NEQ "curlinfo.c" call :element src "%%c" %3
|
||||
)
|
||||
) else if "!var!" == "CURL_SRC_H_FILES" (
|
||||
for /f "delims=" %%h in ('dir /b ..\src\*.h') do call :element src "%%h" %3
|
||||
for /f "delims=" %%h in ('dir /b ..\..\src\*.h') do call :element src "%%h" %3
|
||||
) else if "!var!" == "CURL_SRC_RC_FILES" (
|
||||
for /f "delims=" %%r in ('dir /b ..\src\*.rc') do call :element src "%%r" %3
|
||||
for /f "delims=" %%r in ('dir /b ..\..\src\*.rc') do call :element src "%%r" %3
|
||||
) else if "!var!" == "CURL_SRC_X_H_FILES" (
|
||||
call :element lib "config-win32.h" %3
|
||||
call :element lib "curl_setup.h" %3
|
||||
) else if "!var!" == "CURL_LIB_C_FILES" (
|
||||
for /f "delims=" %%c in ('dir /b ..\lib\*.c') do call :element lib "%%c" %3
|
||||
for /f "delims=" %%c in ('dir /b ..\..\lib\*.c') do call :element lib "%%c" %3
|
||||
) else if "!var!" == "CURL_LIB_H_FILES" (
|
||||
for /f "delims=" %%h in ('dir /b ..\include\curl\*.h') do call :element include\curl "%%h" %3
|
||||
for /f "delims=" %%h in ('dir /b ..\lib\*.h') do call :element lib "%%h" %3
|
||||
for /f "delims=" %%h in ('dir /b ..\..\include\curl\*.h') do call :element include\curl "%%h" %3
|
||||
for /f "delims=" %%h in ('dir /b ..\..\lib\*.h') do call :element lib "%%h" %3
|
||||
) else if "!var!" == "CURL_LIB_RC_FILES" (
|
||||
for /f "delims=" %%r in ('dir /b ..\lib\*.rc') do call :element lib "%%r" %3
|
||||
for /f "delims=" %%r in ('dir /b ..\..\lib\*.rc') do call :element lib "%%r" %3
|
||||
) else if "!var!" == "CURL_LIB_CURLX_C_FILES" (
|
||||
for /f "delims=" %%c in ('dir /b ..\lib\curlx\*.c') do call :element lib\curlx "%%c" %3
|
||||
for /f "delims=" %%c in ('dir /b ..\..\lib\curlx\*.c') do call :element lib\curlx "%%c" %3
|
||||
) else if "!var!" == "CURL_LIB_CURLX_H_FILES" (
|
||||
for /f "delims=" %%h in ('dir /b ..\lib\curlx\*.h') do call :element lib\curlx "%%h" %3
|
||||
for /f "delims=" %%h in ('dir /b ..\..\lib\curlx\*.h') do call :element lib\curlx "%%h" %3
|
||||
) else if "!var!" == "CURL_LIB_VAUTH_C_FILES" (
|
||||
for /f "delims=" %%c in ('dir /b ..\lib\vauth\*.c') do call :element lib\vauth "%%c" %3
|
||||
for /f "delims=" %%c in ('dir /b ..\..\lib\vauth\*.c') do call :element lib\vauth "%%c" %3
|
||||
) else if "!var!" == "CURL_LIB_VAUTH_H_FILES" (
|
||||
for /f "delims=" %%h in ('dir /b ..\lib\vauth\*.h') do call :element lib\vauth "%%h" %3
|
||||
for /f "delims=" %%h in ('dir /b ..\..\lib\vauth\*.h') do call :element lib\vauth "%%h" %3
|
||||
) else if "!var!" == "CURL_LIB_VQUIC_C_FILES" (
|
||||
for /f "delims=" %%c in ('dir /b ..\lib\vquic\*.c') do call :element lib\vquic "%%c" %3
|
||||
for /f "delims=" %%c in ('dir /b ..\..\lib\vquic\*.c') do call :element lib\vquic "%%c" %3
|
||||
) else if "!var!" == "CURL_LIB_VQUIC_H_FILES" (
|
||||
for /f "delims=" %%h in ('dir /b ..\lib\vquic\*.h') do call :element lib\vquic "%%h" %3
|
||||
for /f "delims=" %%h in ('dir /b ..\..\lib\vquic\*.h') do call :element lib\vquic "%%h" %3
|
||||
) else if "!var!" == "CURL_LIB_VSSH_C_FILES" (
|
||||
for /f "delims=" %%c in ('dir /b ..\lib\vssh\*.c') do call :element lib\vssh "%%c" %3
|
||||
for /f "delims=" %%c in ('dir /b ..\..\lib\vssh\*.c') do call :element lib\vssh "%%c" %3
|
||||
) else if "!var!" == "CURL_LIB_VSSH_H_FILES" (
|
||||
for /f "delims=" %%h in ('dir /b ..\lib\vssh\*.h') do call :element lib\vssh "%%h" %3
|
||||
for /f "delims=" %%h in ('dir /b ..\..\lib\vssh\*.h') do call :element lib\vssh "%%h" %3
|
||||
) else if "!var!" == "CURL_LIB_VTLS_C_FILES" (
|
||||
for /f "delims=" %%c in ('dir /b ..\lib\vtls\*.c') do call :element lib\vtls "%%c" %3
|
||||
for /f "delims=" %%c in ('dir /b ..\..\lib\vtls\*.c') do call :element lib\vtls "%%c" %3
|
||||
) else if "!var!" == "CURL_LIB_VTLS_H_FILES" (
|
||||
for /f "delims=" %%h in ('dir /b ..\lib\vtls\*.h') do call :element lib\vtls "%%h" %3
|
||||
for /f "delims=" %%h in ('dir /b ..\..\lib\vtls\*.h') do call :element lib\vtls "%%h" %3
|
||||
) else if "!var!" == "CURL_SRC_TOOLX_C_FILES" (
|
||||
for /f "delims=" %%c in ('dir /b ..\src\toolx\*.c') do call :element src\toolx "%%c" %3
|
||||
for /f "delims=" %%c in ('dir /b ..\..\src\toolx\*.c') do call :element src\toolx "%%c" %3
|
||||
) else if "!var!" == "CURL_SRC_TOOLX_H_FILES" (
|
||||
for /f "delims=" %%h in ('dir /b ..\src\toolx\*.h') do call :element src\toolx "%%h" %3
|
||||
for /f "delims=" %%h in ('dir /b ..\..\src\toolx\*.h') do call :element src\toolx "%%h" %3
|
||||
) else (
|
||||
echo.!var!>> %3
|
||||
)
|
||||
@@ -65,7 +65,7 @@ $! Revisions:
|
||||
$!
|
||||
$! 2-DEC-2003, MSK, the "original" version.
|
||||
$! It works for me. Your mileage may vary.
|
||||
$! 13-JAN-2004, MSK, moved this procedure to the [.packages.vms] directory
|
||||
$! 13-JAN-2004, MSK, moved this procedure to the [.projects.vms] directory
|
||||
$! and updated it to do hardware dependent builds.
|
||||
$! 29-JAN-2004, MSK, moved logical defines into defines.com
|
||||
$! 6-FEB-2004, MSK, put in various SSL support bits
|
||||
@@ -820,17 +820,17 @@ $ then
|
||||
$ sys_inc = sys_inc + ",''curl_sys_zlibinc'"
|
||||
$ endif
|
||||
$! Build LIB
|
||||
$ cc_include = "/include=([-.lib],[-.lib.vtls],[-.packages.vms]"
|
||||
$ cc_include = cc_include + ",[-.packages.vms.''arch_name'])"
|
||||
$ cc_include = "/include=([-.lib],[-.lib.vtls],[-.projects.vms]"
|
||||
$ cc_include = cc_include + ",[-.projects.vms.''arch_name'])"
|
||||
$ call build "[--.lib]" "*.c" "''objdir'CURLLIB.OLB" "amigaos, nwlib, nwos"
|
||||
$ if ($status .eq. ctrl_y) then goto Common_Exit
|
||||
$! Build VTLS
|
||||
$ cc_include = "/include=([--.lib.vtls],[--.lib],[--.src]"
|
||||
$ cc_include = cc_include + ",[--.packages.vms],[--.packages.vms.''arch_name'])"
|
||||
$ cc_include = cc_include + ",[--.projects.vms],[--.projects.vms.''arch_name'])"
|
||||
$ call build "[--.lib.vtls]" "*.c" "''objdir'CURLLIB.OLB" "amigaos, nwlib, nwos"
|
||||
$! Build SRC
|
||||
$ cc_include = "/include=([-.src],[-.lib],[-.lib.vtls]"
|
||||
$ cc_include = cc_include + ",[-.packages.vms],[-.packages.vms.''arch_name'])"
|
||||
$ cc_include = cc_include + ",[-.projects.vms],[-.projects.vms.''arch_name'])"
|
||||
$ call build "[--.src]" "*.c" "''objdir'CURLSRC.OLB"
|
||||
$ if ($status .eq. ctrl_y) then goto Common_Exit
|
||||
$! Build MSG
|
||||
@@ -103,34 +103,34 @@ $!
|
||||
$ file = "lcl_root:[...]*.lai"
|
||||
$ if f$search(file) .nes. "" then delete 'file';*
|
||||
$!
|
||||
$ file = "lcl_root:[.packages.vms]curl-*_original_src.bck"
|
||||
$ file = "lcl_root:[.projects.vms]curl-*_original_src.bck"
|
||||
$ if f$search(file) .nes. "" then delete 'file';*
|
||||
$!
|
||||
$ file = "lcl_root:[.packages.vms]curl_d-*_original_src.bck"
|
||||
$ file = "lcl_root:[.projects.vms]curl_d-*_original_src.bck"
|
||||
$ if f$search(file) .nes. "" then delete 'file';*
|
||||
$!
|
||||
$ file = "lcl_root:[.packages.vms]curl-*_vms_src.bck"
|
||||
$ file = "lcl_root:[.projects.vms]curl-*_vms_src.bck"
|
||||
$ if f$search(file) .nes. "" then delete 'file';*
|
||||
$!
|
||||
$ file = "lcl_root:[.packages.vms]curl_d-*_vms_src.bck"
|
||||
$ file = "lcl_root:[.projects.vms]curl_d-*_vms_src.bck"
|
||||
$ if f$search(file) .nes. "" then delete 'file';*
|
||||
$!
|
||||
$ file = "lcl_root:[.packages.vms]curl-*.release_notes"
|
||||
$ file = "lcl_root:[.projects.vms]curl-*.release_notes"
|
||||
$ if f$search(file) .nes. "" then delete 'file';*
|
||||
$!
|
||||
$ file = "lcl_root:[.packages.vms]curl_d-*.release_notes"
|
||||
$ file = "lcl_root:[.projects.vms]curl_d-*.release_notes"
|
||||
$ if f$search(file) .nes. "" then delete 'file';*
|
||||
$!
|
||||
$ file = "lcl_root:[.packages.vms]*-curl-*.pcsi$desc"
|
||||
$ file = "lcl_root:[.projects.vms]*-curl-*.pcsi$desc"
|
||||
$ if f$search(file) .nes. "" then delete 'file';*
|
||||
$!
|
||||
$ file = "lcl_root:[.packages.vms]*-curl_d-*.pcsi$desc"
|
||||
$ file = "lcl_root:[.projects.vms]*-curl_d-*.pcsi$desc"
|
||||
$ if f$search(file) .nes. "" then delete 'file';*
|
||||
$!
|
||||
$ file = "lcl_root:[.packages.vms]*-curl-*.pcsi$text"
|
||||
$ file = "lcl_root:[.projects.vms]*-curl-*.pcsi$text"
|
||||
$ if f$search(file) .nes. "" then delete 'file';*
|
||||
$!
|
||||
$ file = "lcl_root:[.packages.vms]*-curl_d-*.pcsi$text"
|
||||
$ file = "lcl_root:[.projects.vms]*-curl_d-*.pcsi$text"
|
||||
$ if f$search(file) .nes. "" then delete 'file';*
|
||||
$!
|
||||
$!======================================================================
|
||||
@@ -218,13 +218,13 @@ $!
|
||||
$ file = "lcl_root:[...]gnv*.opt"
|
||||
$ if f$search(file) .nes. "" then delete 'file';*
|
||||
$!
|
||||
$ file = "lcl_root:[.packages.vms]macro32_exactcase.exe"
|
||||
$ file = "lcl_root:[.projects.vms]macro32_exactcase.exe"
|
||||
$ if f$search(file) .nes. "" then delete 'file';*
|
||||
$!
|
||||
$ file = "lcl_root:[.packages.vms]report_openssl_version.exe"
|
||||
$ file = "lcl_root:[.projects.vms]report_openssl_version.exe"
|
||||
$ if f$search(file) .nes. "" then delete 'file';*
|
||||
$!
|
||||
$ file = "lcl_root:[.packages.vms]hp_ssl_release_info.txt"
|
||||
$ file = "lcl_root:[.projects.vms]hp_ssl_release_info.txt"
|
||||
$ if f$search(file) .nes. "" then delete 'file';*
|
||||
$!
|
||||
$ file = "lcl_root:[.src]curl.exe"
|
||||
@@ -117,7 +117,7 @@ u unimplemented switch - ignored
|
||||
|
||||
|
||||
With these search lists set up and the properly, curl can be built by
|
||||
setting your default to PRJ_ROOT:[curl.packages.vms] and then issuing
|
||||
setting your default to PRJ_ROOT:[curl.projects.vms] and then issuing
|
||||
either the command:
|
||||
|
||||
$ @pcsi_product_gnv_curl.com
|
||||
@@ -70,20 +70,20 @@ $!
|
||||
$!
|
||||
$! Build the Message file.
|
||||
$!--------------------------
|
||||
$ if f$search("[.packages.vms]curlmsg.obj") .eqs. ""
|
||||
$ if f$search("[.projects.vms]curlmsg.obj") .eqs. ""
|
||||
$ then
|
||||
$ message [.packages.vms]curlmsg.msg/object=[.packages.vms]
|
||||
$ message [.projects.vms]curlmsg.msg/object=[.projects.vms]
|
||||
$ endif
|
||||
$ if f$search("gnv$curlmsg.exe") .eqs. ""
|
||||
$ then
|
||||
$ link/share=gnv$curlmsg.exe [.packages.vms]curlmsg.obj
|
||||
$ link/share=gnv$curlmsg.exe [.projects.vms]curlmsg.obj
|
||||
$ endif
|
||||
$!
|
||||
$!
|
||||
$! Need to build the common init module.
|
||||
$!-------------------------------------------
|
||||
$ cflags = "/list/show=(expan,includ)"
|
||||
$ init_obj = "[.packages.vms]curl_crtl_init.obj"
|
||||
$ init_obj = "[.projects.vms]curl_crtl_init.obj"
|
||||
$ if f$search(init_obj) .eqs. ""
|
||||
$ then
|
||||
$ cc'cflags' 'default_dir'curl_crtl_init.c/obj='init_obj'
|
||||
@@ -96,7 +96,7 @@ $! Need to build the module to test the HP OpenSSL version
|
||||
$!--------------------------------------------------------
|
||||
$ if arch_name .nes. "VAX"
|
||||
$ then
|
||||
$ rpt_obj = "[.packages.vms]report_openssl_version.obj
|
||||
$ rpt_obj = "[.projects.vms]report_openssl_version.obj
|
||||
$ if f$search(rpt_obj) .eqs. ""
|
||||
$ then
|
||||
$ cc'cflags' 'default_dir'report_openssl_version.c/obj='rpt_obj'
|
||||
@@ -109,12 +109,12 @@ $ report_openssl_version := $'default_dir'report_openssl_version.exe
|
||||
$ endif
|
||||
$!
|
||||
$!
|
||||
$ base_link_opt_file = "[.packages.vms.''arch_name']gnv_libcurl_linker.opt"
|
||||
$ share_link_opt_file = "[.packages.vms.''arch_name']gnv_ssl_libcurl_linker.opt"
|
||||
$ base_link_opt_file = "[.projects.vms.''arch_name']gnv_libcurl_linker.opt"
|
||||
$ share_link_opt_file = "[.projects.vms.''arch_name']gnv_ssl_libcurl_linker.opt"
|
||||
$ if f$search(base_link_opt_file) .eqs. ""
|
||||
$ then
|
||||
$ base_link_opt_file = "[.packages.vms]gnv_libcurl_linker.opt"
|
||||
$ share_link_opt_file = "[.packages.vms]gnv_ssl_libcurl_linker.opt"
|
||||
$ base_link_opt_file = "[.projects.vms]gnv_libcurl_linker.opt"
|
||||
$ share_link_opt_file = "[.projects.vms]gnv_ssl_libcurl_linker.opt"
|
||||
$ if f$search(base_link_opt_file) .eqs. ""
|
||||
$ then
|
||||
$ write sys$output "Can not find base library option file!"
|
||||
@@ -343,7 +343,7 @@ $ endif
|
||||
$!
|
||||
$! DCL build puts curllib in architecture directory
|
||||
$! GNV build uses the makefile.
|
||||
$ libfile = "[.packages.vms.''arch_name']curllib.olb"
|
||||
$ libfile = "[.projects.vms.''arch_name']curllib.olb"
|
||||
$ if f$search(libfile) .nes. ""
|
||||
$ then
|
||||
$ olb_file = libfile
|
||||
@@ -424,9 +424,9 @@ $ endif
|
||||
$ else
|
||||
$ curl_exe = "[.src]curl.exe"
|
||||
$ curl_dsf = "[.src]curl.dsf"
|
||||
$ curl_main = "[.packages.vms.''arch_name']tool_main.obj"
|
||||
$ curl_src = "[.packages.vms.''arch_name']curlsrc.olb"
|
||||
$ curl_lib = "[.packages.vms.''arch_name']curllib.olb"
|
||||
$ curl_main = "[.projects.vms.''arch_name']tool_main.obj"
|
||||
$ curl_src = "[.projects.vms.''arch_name']curlsrc.olb"
|
||||
$ curl_lib = "[.projects.vms.''arch_name']curllib.olb"
|
||||
$ strcase = "strcase"
|
||||
$ nonblock = "nonblock"
|
||||
$ warnless = "warnless"
|
||||
@@ -66,7 +66,7 @@ $ arch_name = f$edit(f$getsyi("arch_name"),"UPCASE")
|
||||
$ if f$search("[--.src]curl.exe") .eqs. ""
|
||||
$ then
|
||||
$ build_it = 1
|
||||
$ libfile = "[.packages.vms.''arch_name']curllib.olb"
|
||||
$ libfile = "[.projects.vms.''arch_name']curllib.olb"
|
||||
$ if f$search(libfile) .nes. ""
|
||||
$ then
|
||||
$ build_it = 0
|
||||
@@ -161,7 +161,7 @@ and you must make sure that none of the build files are present before
|
||||
running a different type of build. Use the "REALCLEAN" option for
|
||||
BUILD_VMS.COM and the "REALCLEAN" option for clean_gnv_curl.com.
|
||||
|
||||
The (brute-force) DCL based builder is [.packages.vms]build_vms.com.
|
||||
The (brute-force) DCL based builder is [.projects.vms]build_vms.com.
|
||||
Comments in this procedure describe various optional parameters which
|
||||
enable or disable optional program features, or which control the build
|
||||
in other ways. Product files (.EXE, .H, .LIS, .MAP, .OBJ, .OLB, ...)
|
||||
@@ -183,9 +183,9 @@ is installed from a PCSI kit and default to using it.
|
||||
|
||||
Example build commands:
|
||||
|
||||
@ [.packages.vms]build_vms.com CLEAN
|
||||
@ [.packages.vms]build_vms.com LARGE LDAP
|
||||
submit /noprint [.packages.vms]build_vms.com /param = (LARGE, LDAP)
|
||||
@ [.projects.vms]build_vms.com CLEAN
|
||||
@ [.projects.vms]build_vms.com LARGE LDAP
|
||||
submit /noprint [.projects.vms]build_vms.com /param = (LARGE, LDAP)
|
||||
|
||||
The build_vms.com procedure does not build the shared image file or the PCSI
|
||||
kit. If you have built a curl with ZLIB and HPSSL support as well as if
|
||||
@@ -73,7 +73,7 @@ $!
|
||||
$! A logical name to make it easier to find some of the hacks.
|
||||
$ define/job gnv_hacks 'base_dir'
|
||||
$!
|
||||
$! A logical name to find the [.packages.vms] directory where we started.
|
||||
$! A logical name to find the [.projects.vms] directory where we started.
|
||||
$ define/job gnv_packages_vms 'default_dir'
|
||||
$!
|
||||
$! Kerberos headers:
|
||||
@@ -96,7 +96,7 @@ $ endif
|
||||
$!
|
||||
$! C compiler include path.
|
||||
$ define/job decc$system_include prj_root:[.include.curl],-
|
||||
[-.packages.vms],-
|
||||
[-.projects.vms],-
|
||||
ssl$include:,gnv$gnu:[usr.include],-
|
||||
gnv$gnu:[usr.include.libz],gnv$gnu:[include],-
|
||||
gnv$zlib_include:,-
|
||||
@@ -256,20 +256,20 @@ $!
|
||||
$!
|
||||
$! Build the Message file.
|
||||
$!--------------------------
|
||||
$ if f$search("[.packages.vms]curlmsg.obj") .eqs. ""
|
||||
$ if f$search("[.projects.vms]curlmsg.obj") .eqs. ""
|
||||
$ then
|
||||
$ message [.packages.vms]curlmsg.msg/object=[.packages.vms]
|
||||
$ message [.projects.vms]curlmsg.msg/object=[.projects.vms]
|
||||
$ endif
|
||||
$ if f$search("gnv$curlmsg.exe") .eqs. ""
|
||||
$ then
|
||||
$ link/share=gnv$curlmsg.exe [.packages.vms]curlmsg.obj
|
||||
$ link/share=gnv$curlmsg.exe [.projects.vms]curlmsg.obj
|
||||
$ endif
|
||||
$!
|
||||
$!
|
||||
$!
|
||||
$! Need to build the common init module.
|
||||
$!-------------------------------------------
|
||||
$ init_obj = "[.packages.vms]curl_crtl_init.obj"
|
||||
$ init_obj = "[.projects.vms]curl_crtl_init.obj"
|
||||
$ if f$search(init_obj) .eqs. ""
|
||||
$ then
|
||||
$ cc'cflags' 'default_dir'curl_crtl_init.c/obj='init_obj'
|
||||
@@ -167,7 +167,7 @@ my %api = (
|
||||
|
||||
sub doublecheck {
|
||||
my ($f, $used) = @_;
|
||||
open(F, "git grep -Fwle '$f' -- lib ${unittests}packages|");
|
||||
open(F, "git grep -Fwle '$f' -- lib ${unittests}projects|");
|
||||
my @also;
|
||||
while(<F>) {
|
||||
my $e = $_;
|
||||
|
||||
@@ -41,7 +41,8 @@ my @need_crlf = (
|
||||
my @double_empty_lines = (
|
||||
"RELEASE-NOTES",
|
||||
"^lib/.+\\.(c|h)\$",
|
||||
"^packages/",
|
||||
"^projects/OS400",
|
||||
"^projects/vms",
|
||||
"^tests/data/test",
|
||||
"\\.(m4|py)\$",
|
||||
);
|
||||
|
||||
@@ -32,7 +32,7 @@ use warnings;
|
||||
|
||||
my $root=$ARGV[0] || ".";
|
||||
my $incdir = "$root/include/curl";
|
||||
my $os400dir = "$root/packages/OS400";
|
||||
my $os400dir = "$root/projects/OS400";
|
||||
my $errcount = 0;
|
||||
|
||||
# Scan header file for string option definitions.
|
||||
@@ -90,7 +90,7 @@ sub scan_header {
|
||||
return @stringopts;
|
||||
}
|
||||
|
||||
# Scan packages/OS400/ccsidcurl.c for translatable string option cases.
|
||||
# Scan projects/OS400/ccsidcurl.c for translatable string option cases.
|
||||
sub scan_wrapper_for_strings {
|
||||
my ($f)=@_;
|
||||
my $inarmor = 0;
|
||||
|
||||
Reference in New Issue
Block a user