porting libcurl¶
The basic approach I use when porting libcurl to another OS when the existing configure or cmake build setups are not suitable.
Build¶
Write a build script/Makefile that builds all C files under lib/. If
possible, use the lib/Makefile.inc
that lists all files in Makefile
variables.
In the Makefile, make sure you define what OS you build for: -D[OPERATING
SYSTEM]
, or similar. Perhaps the compiler in use already define a standard
one? Then you might not need to define your own.
Add the new OS¶
In the lib/curl_config.h
header file, in the section for when HAVE_CONFIG_H
is not defined (starting at around line 150), add a new conditional include
in this style:
#ifdef [OPERATING SYSTEM]
# include "config-operatingsystem.h"
#endif
Create lib/config-operatingsystem.h
. You might want to start with copying a
another config-* file and then start trimming according to what your
environment supports.
Build it¶
When you run into compiler warnings or errors, the
lib/config-operatingsystem.h
file should be where you should focus your work
and edits.
A recommended approach is to define a lot of the CURL_DISABLE_*
defines (see
the CURL-DISABLE document) initially to help narrow down
the initial work as that can save you from having to give attention to areas of
the code that you do not care for in your port.