diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..5d285ef --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "curl"] + path = curl + url = http://github.com/generic-library/curl diff --git a/curl b/curl new file mode 160000 index 0000000..9819cec --- /dev/null +++ b/curl @@ -0,0 +1 @@ +Subproject commit 9819cec61b00cc872136ea5faf469627b3b87e69 diff --git a/generate/curlbuild.h b/generate/curlbuild.h new file mode 100644 index 0000000..c92f0e9 --- /dev/null +++ b/generate/curlbuild.h @@ -0,0 +1,197 @@ +#ifndef __CURL_CURLBUILD_H +#define __CURL_CURLBUILD_H +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) 1998 - 2008, Daniel Stenberg, , 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.haxx.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. + * + ***************************************************************************/ + +/* ================================================================ */ +/* NOTES FOR CONFIGURE CAPABLE SYSTEMS */ +/* ================================================================ */ + +/* + * NOTE 1: + * ------- + * + * Nothing in this file is intended to be modified or adjusted by the + * curl library user nor by the curl library builder. + * + * If you think that something actually needs to be changed, adjusted + * or fixed in this file, then, report it on the libcurl development + * mailing list: https://cool.haxx.se/mailman/listinfo/curl-library/ + * + * This header file shall only export symbols which are 'curl' or 'CURL' + * prefixed, otherwise public name space would be polluted. + * + * NOTE 2: + * ------- + * + * Right now you might be staring at file include/curl/curlbuild.h.in or + * at file include/curl/curlbuild.h, this is due to the following reason: + * + * On systems capable of running the configure script, the configure process + * will overwrite the distributed include/curl/curlbuild.h file with one that + * is suitable and specific to the library being configured and built, which + * is generated from the include/curl/curlbuild.h.in template file. + * + */ + +/* ================================================================ */ +/* DEFINITION OF THESE SYMBOLS SHALL NOT TAKE PLACE ANYWHERE ELSE */ +/* ================================================================ */ + +#ifdef CURL_SIZEOF_LONG +#error "CURL_SIZEOF_LONG shall not be defined except in curlbuild.h" + Error Compilation_aborted_CURL_SIZEOF_LONG_already_defined +#endif + +#ifdef CURL_TYPEOF_CURL_SOCKLEN_T +#error "CURL_TYPEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h" + Error Compilation_aborted_CURL_TYPEOF_CURL_SOCKLEN_T_already_defined +#endif + +#ifdef CURL_SIZEOF_CURL_SOCKLEN_T +#error "CURL_SIZEOF_CURL_SOCKLEN_T shall not be defined except in curlbuild.h" + Error Compilation_aborted_CURL_SIZEOF_CURL_SOCKLEN_T_already_defined +#endif + +#ifdef CURL_TYPEOF_CURL_OFF_T +#error "CURL_TYPEOF_CURL_OFF_T shall not be defined except in curlbuild.h" + Error Compilation_aborted_CURL_TYPEOF_CURL_OFF_T_already_defined +#endif + +#ifdef CURL_FORMAT_CURL_OFF_T +#error "CURL_FORMAT_CURL_OFF_T shall not be defined except in curlbuild.h" + Error Compilation_aborted_CURL_FORMAT_CURL_OFF_T_already_defined +#endif + +#ifdef CURL_FORMAT_CURL_OFF_TU +#error "CURL_FORMAT_CURL_OFF_TU shall not be defined except in curlbuild.h" + Error Compilation_aborted_CURL_FORMAT_CURL_OFF_TU_already_defined +#endif + +#ifdef CURL_FORMAT_OFF_T +#error "CURL_FORMAT_OFF_T shall not be defined except in curlbuild.h" + Error Compilation_aborted_CURL_FORMAT_OFF_T_already_defined +#endif + +#ifdef CURL_SIZEOF_CURL_OFF_T +#error "CURL_SIZEOF_CURL_OFF_T shall not be defined except in curlbuild.h" + Error Compilation_aborted_CURL_SIZEOF_CURL_OFF_T_already_defined +#endif + +#ifdef CURL_SUFFIX_CURL_OFF_T +#error "CURL_SUFFIX_CURL_OFF_T shall not be defined except in curlbuild.h" + Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_T_already_defined +#endif + +#ifdef CURL_SUFFIX_CURL_OFF_TU +#error "CURL_SUFFIX_CURL_OFF_TU shall not be defined except in curlbuild.h" + Error Compilation_aborted_CURL_SUFFIX_CURL_OFF_TU_already_defined +#endif + +/* ================================================================ */ +/* EXTERNAL INTERFACE SETTINGS FOR CONFIGURE CAPABLE SYSTEMS ONLY */ +/* ================================================================ */ + +/* Configure process defines this to 1 when it finds out that system */ +/* header file ws2tcpip.h must be included by the external interface. */ +/* #undef CURL_PULL_WS2TCPIP_H */ +#ifdef CURL_PULL_WS2TCPIP_H +# ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +# endif +# include +# include +# include +#endif + +/* Configure process defines this to 1 when it finds out that system */ +/* header file sys/types.h must be included by the external interface. */ +#define CURL_PULL_SYS_TYPES_H +#ifdef CURL_PULL_SYS_TYPES_H +# include +#endif + +/* Configure process defines this to 1 when it finds out that system */ +/* header file stdint.h must be included by the external interface. */ +#define CURL_PULL_STDINT_H +#ifdef CURL_PULL_STDINT_H +# include +#endif + +/* Configure process defines this to 1 when it finds out that system */ +/* header file inttypes.h must be included by the external interface. */ +#define CURL_PULL_INTTYPES_H +#ifdef CURL_PULL_INTTYPES_H +# include +#endif + +/* Configure process defines this to 1 when it finds out that system */ +/* header file sys/socket.h must be included by the external interface. */ +#define CURL_PULL_SYS_SOCKET_H +#ifdef CURL_PULL_SYS_SOCKET_H +# include +#endif + +/* Configure process defines this to 1 when it finds out that system */ +/* header file sys/poll.h must be included by the external interface. */ +#define CURL_PULL_SYS_POLL_H +#ifdef CURL_PULL_SYS_POLL_H +# include +#endif + +/* The size of `long', as computed by sizeof. */ +#define CURL_SIZEOF_LONG 8 + +/* Integral data type used for curl_socklen_t. */ +#define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t + +/* The size of `curl_socklen_t', as computed by sizeof. */ +#define CURL_SIZEOF_CURL_SOCKLEN_T 4 + +/* Data type definition of curl_socklen_t. */ +typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t; + +/* Signed integral data type used for curl_off_t. */ +#define CURL_TYPEOF_CURL_OFF_T long long + +/* Data type definition of curl_off_t. */ +typedef CURL_TYPEOF_CURL_OFF_T curl_off_t; + +/* curl_off_t formatting string directive without "%" conversion specifier. */ +#define CURL_FORMAT_CURL_OFF_T "lld" + +/* unsigned curl_off_t formatting string without "%" conversion specifier. */ +#define CURL_FORMAT_CURL_OFF_TU "llu" + +/* curl_off_t formatting string directive with "%" conversion specifier. */ +#define CURL_FORMAT_OFF_T "%lld" + +/* The size of `curl_off_t', as computed by sizeof. */ +#define CURL_SIZEOF_CURL_OFF_T 8 + +/* curl_off_t constant suffix. */ +#define CURL_SUFFIX_CURL_OFF_T LL + +/* unsigned curl_off_t constant suffix. */ +#define CURL_SUFFIX_CURL_OFF_TU ULL + +#endif /* __CURL_CURLBUILD_H */ diff --git a/generate/tool_hugehelp.c b/generate/tool_hugehelp.c new file mode 100644 index 0000000..18d35f6 --- /dev/null +++ b/generate/tool_hugehelp.c @@ -0,0 +1,29 @@ +/*************************************************************************** + * _ _ ____ _ + * Project ___| | | | _ \| | + * / __| | | | |_) | | + * | (__| |_| | _ <| |___ + * \___|\___/|_| \_\_____| + * + * Copyright (C) 1998 - 2014, Daniel Stenberg, , 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.haxx.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. + * + ***************************************************************************/ + +#include +#include + +void hugehelp(void) +{ + puts ( "This is a silly replacement for the actual file."); +} diff --git a/lutin_curl-bin.py b/lutin_curl-bin.py new file mode 100644 index 0000000..e55fcb4 --- /dev/null +++ b/lutin_curl-bin.py @@ -0,0 +1,112 @@ +#!/usr/bin/python +import lutin.module as module +import lutin.tools as tools +import os + + +def get_type(): + return "BINARY" + +def get_desc(): + return "cURL binary" + +def get_licence(): + return "MIT" + +def get_compagny_type(): + return "org" + +def get_compagny_name(): + return "haxx" + +def get_maintainer(): + return ["Daniel Stenberg"] + +def get_version(): + return [7,48,0] + +def create(target, module_name): + my_module = module.Module(__file__, module_name, get_type()) + my_module.add_src_file([ + 'curl/src/slist_wc.c', + 'curl/src/tool_binmode.c', + 'curl/src/tool_bname.c', + 'curl/src/tool_cb_dbg.c', + 'curl/src/tool_cb_hdr.c', + 'curl/src/tool_cb_prg.c', + 'curl/src/tool_cb_rea.c', + 'curl/src/tool_cb_see.c', + 'curl/src/tool_cb_wrt.c', + 'curl/src/tool_cfgable.c', + 'curl/src/tool_convert.c', + 'curl/src/tool_dirhie.c', + 'curl/src/tool_doswin.c', + 'curl/src/tool_easysrc.c', + 'curl/src/tool_formparse.c', + 'curl/src/tool_getparam.c', + 'curl/src/tool_getpass.c', + 'curl/src/tool_help.c', + 'curl/src/tool_helpers.c', + 'curl/src/tool_homedir.c', + #'curl/src/tool_hugehelp.c', + 'generate/tool_hugehelp.c', + 'curl/src/tool_libinfo.c', + 'curl/src/tool_main.c', + 'curl/src/tool_metalink.c', + 'curl/src/tool_mfiles.c', + 'curl/src/tool_msgs.c', + 'curl/src/tool_operate.c', + 'curl/src/tool_operhlp.c', + 'curl/src/tool_panykey.c', + 'curl/src/tool_paramhlp.c', + 'curl/src/tool_parsecfg.c', + 'curl/src/tool_strdup.c', + 'curl/src/tool_setopt.c', + 'curl/src/tool_sleep.c', + 'curl/src/tool_urlglob.c', + 'curl/src/tool_util.c', + 'curl/src/tool_vms.c', + 'curl/src/tool_writeenv.c', + 'curl/src/tool_writeout.c', + 'curl/src/tool_xattr.c', + 'curl/lib/strtoofft.c', + 'curl/lib/rawstr.c', + 'curl/lib/nonblock.c', + 'curl/lib/warnless.c', + ]) + my_module.compile_flags('c', [ + '-DHAVE_CONFIG_H', + ]) + my_module.compile_flags('link', [ + '-lidn', + '-llber', + '-lldap', + '-ldl', + '-lssl', + '-lcrypto', + '-lz', + '-lssh2', + ]) + + my_module.compile_version("c", 1989, gnu=True) + my_module.add_module_depend('curl') + my_module.add_path(os.path.join(tools.get_current_path(__file__), "curl", "src")) + # Bad lib implementation ... + my_module.add_path(os.path.join(tools.get_current_path(__file__), "curl", "lib")) + my_module.add_path(os.path.join(tools.get_current_path(__file__), "curl", "include")) + my_module.add_path(os.path.join(tools.get_current_path(__file__), "curl", "include", "curl")) + my_module.add_path(os.path.join(tools.get_current_path(__file__), "generate")) + # end bad + return my_module + +""" +',/home/heero/dev/perso/framework/curl-lutin/curl/src',, +-DHAVE_CONFIG_H +-I/home/heero/dev/perso/framework/curl-lutin/curl/include/curl +-I/home/heero/dev/perso/framework/curl-lutin/curl/include +-I/home/heero/dev/perso/framework/curl-lutin/curl/lib +-I/home/heero/dev/perso/framework/curl-lutin/curl/src + +""" + + diff --git a/lutin_curl.py b/lutin_curl.py new file mode 100644 index 0000000..193fc84 --- /dev/null +++ b/lutin_curl.py @@ -0,0 +1,171 @@ +#!/usr/bin/python +import lutin.module as module +import lutin.tools as tools +import os + + +def get_type(): + return "LIBRARY" + +def get_desc(): + return "cURL library" + +def get_licence(): + return "MIT" + +def get_compagny_type(): + return "org" + +def get_compagny_name(): + return "haxx" + +def get_maintainer(): + return ["Daniel Stenberg"] + +def get_version(): + return [7,48,0] + +def create(target, module_name): + my_module = module.Module(__file__, module_name, get_type()) + my_module.add_src_file([ + 'curl/lib/file.c', + 'curl/lib/timeval.c', + 'curl/lib/base64.c', + 'curl/lib/hostip.c', + 'curl/lib/progress.c', + 'curl/lib/formdata.c', + 'curl/lib/cookie.c', + 'curl/lib/http.c', + 'curl/lib/sendf.c', + 'curl/lib/ftp.c', + 'curl/lib/url.c', + 'curl/lib/dict.c', + 'curl/lib/if2ip.c', + 'curl/lib/speedcheck.c', + 'curl/lib/ldap.c', + 'curl/lib/version.c', + 'curl/lib/getenv.c', + 'curl/lib/escape.c', + 'curl/lib/mprintf.c', + 'curl/lib/telnet.c', + 'curl/lib/netrc.c', + 'curl/lib/getinfo.c', + 'curl/lib/transfer.c', + 'curl/lib/strequal.c', + 'curl/lib/easy.c', + 'curl/lib/security.c', + 'curl/lib/curl_fnmatch.c', + 'curl/lib/fileinfo.c', + 'curl/lib/ftplistparser.c', + 'curl/lib/wildcard.c', + 'curl/lib/krb5.c', + 'curl/lib/memdebug.c', + 'curl/lib/http_chunks.c', + 'curl/lib/strtok.c', + 'curl/lib/connect.c', + 'curl/lib/llist.c', + 'curl/lib/hash.c', + 'curl/lib/multi.c', + 'curl/lib/content_encoding.c', + 'curl/lib/share.c', + 'curl/lib/http_digest.c', + 'curl/lib/md4.c', + 'curl/lib/md5.c', + 'curl/lib/http_negotiate.c', + 'curl/lib/inet_pton.c', + 'curl/lib/strtoofft.c', + 'curl/lib/strerror.c', + 'curl/lib/amigaos.c', + 'curl/lib/hostasyn.c', + 'curl/lib/hostip4.c', + 'curl/lib/hostip6.c', + 'curl/lib/hostsyn.c', + 'curl/lib/inet_ntop.c', + 'curl/lib/parsedate.c', + 'curl/lib/select.c', + 'curl/lib/tftp.c', + 'curl/lib/splay.c', + 'curl/lib/strdup.c', + 'curl/lib/socks.c', + 'curl/lib/ssh.c', + 'curl/lib/rawstr.c', + 'curl/lib/curl_addrinfo.c', + 'curl/lib/socks_gssapi.c', + 'curl/lib/socks_sspi.c', + 'curl/lib/curl_sspi.c', + 'curl/lib/slist.c', + 'curl/lib/nonblock.c', + 'curl/lib/curl_memrchr.c', + 'curl/lib/imap.c', + 'curl/lib/pop3.c', + 'curl/lib/smtp.c', + 'curl/lib/pingpong.c', + 'curl/lib/rtsp.c', + 'curl/lib/curl_threads.c', + 'curl/lib/warnless.c', + 'curl/lib/hmac.c', + 'curl/lib/curl_rtmp.c', + 'curl/lib/openldap.c', + 'curl/lib/curl_gethostname.c', + 'curl/lib/gopher.c', + 'curl/lib/idn_win32.c', + 'curl/lib/http_negotiate_sspi.c', + 'curl/lib/http_proxy.c', + 'curl/lib/non-ascii.c', + 'curl/lib/asyn-ares.c', + 'curl/lib/asyn-thread.c', + 'curl/lib/curl_gssapi.c', + 'curl/lib/curl_ntlm.c', + 'curl/lib/curl_ntlm_wb.c', + 'curl/lib/curl_ntlm_core.c', + 'curl/lib/curl_ntlm_msgs.c', + 'curl/lib/curl_sasl.c', + 'curl/lib/curl_multibyte.c', + 'curl/lib/hostcheck.c', + 'curl/lib/conncache.c', + 'curl/lib/pipeline.c', + 'curl/lib/dotdot.c', + 'curl/lib/x509asn1.c', + 'curl/lib/http2.c', + 'curl/lib/curl_sasl_sspi.c', + 'curl/lib/smb.c', + 'curl/lib/curl_sasl_gssapi.c', + 'curl/lib/curl_endian.c', + 'curl/lib/curl_des.c', + 'curl/lib/vtls/openssl.c', + 'curl/lib/vtls/gtls.c', + 'curl/lib/vtls/vtls.c', + 'curl/lib/vtls/nss.c', + 'curl/lib/vtls/polarssl.c', + 'curl/lib/vtls/polarssl_threadlock.c', + 'curl/lib/vtls/axtls.c', + 'curl/lib/vtls/cyassl.c', + 'curl/lib/vtls/schannel.c', + 'curl/lib/vtls/darwinssl.c', + 'curl/lib/vtls/gskit.c', + 'curl/lib/vtls/mbedtls.c', + ]) + my_module.compile_flags('c', [ + '-Dlibcurl_EXPORTS', + '-DBUILDING_LIBCURL', + '-DHAVE_CONFIG_H', + ]) + my_module.compile_version("c", 1989, gnu=True) + my_module.add_module_depend('z') + my_module.add_path(os.path.join(tools.get_current_path(__file__), "curl", "lib")) + my_module.add_path(os.path.join(tools.get_current_path(__file__), "curl", "include")) + my_module.add_path(os.path.join(tools.get_current_path(__file__), "curl", "include", "curl")) + my_module.add_path(os.path.join(tools.get_current_path(__file__), "generate")) + my_module.add_header_file([ + 'curl/include/curl/mprintf.h', + 'curl/include/curl/curlver.h', + 'curl/include/curl/multi.h', + 'curl/include/curl/curl.h', + 'curl/include/curl/curlrules.h', + 'curl/include/curl/typecheck-gcc.h', + 'curl/include/curl/easy.h', + 'curl/lib/curl_setup.h', + 'generate/curlbuild.h', + ], + destination_path="curl") + return my_module