aboutsummaryrefslogtreecommitdiff
path: root/docs/TODO
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2016-10-24 13:38:29 +0200
committerDaniel Stenberg <daniel@haxx.se>2016-10-24 13:38:29 +0200
commitcc8c8f957e35fc8bda22a80862a0e90a5979bffb (patch)
tree1b6a1ce7554b17d974f8091fe70036f64552b61a /docs/TODO
parent21b9e54058bd0dd5108803facd4ee678a4846ae5 (diff)
TODO: Remove the generated include file
Diffstat (limited to 'docs/TODO')
-rw-r--r--docs/TODO27
1 files changed, 27 insertions, 0 deletions
diff --git a/docs/TODO b/docs/TODO
index 5f72f3682..156db7c51 100644
--- a/docs/TODO
+++ b/docs/TODO
@@ -38,6 +38,7 @@
1.21 API for URL parsing/splitting
1.23 Offer API to flush the connection pool
1.24 TCP Fast Open for windows
+ 1.25 Remove the generated include file
2. libcurl - multi interface
2.1 More non-blocking
@@ -377,6 +378,32 @@
Mac OS. Windows supports TCP Fast Open starting with Windows 10, version 1607
and we should add support for it.
+1.25 Remove the generated include file
+
+ When curl and libcurl are built, one of the public include files are
+ generated and is populated with a set of defines that are derevid from sizes
+ and constants for the particular target architecture that build is made. For
+ platforms that can select between 32 bit and 64 bit at build time, this
+ approach makes the libcurl build only create a set of public headers suitable
+ for one of the architectures and not both. If you build libcurl for such a
+ platform and you want to allow applications to get built using either 32/64
+ version, you must generate the libcurl headers once for each setup and you
+ must then add a replacement curl header that would itself select the correct
+ 32 or 64 bit specific header as necessary.
+
+ Your curl/curl.h alternative could then look like (replace with suitable CPP
+ variable to check):
+
+ #ifdef ARCH_32bit
+ #include <curl32/curl.h>
+ #else /* ARCH_64bit */
+ #include <curl64/curl.h>
+ #endif
+
+ A fix would either (A) fix the 32/64 setup automatically or even better (B)
+ work away the architecture specific defines from the headers so that they can
+ be used for all architectures independently of what libcurl was built for.
+
2. libcurl - multi interface