diff options
author | Daniel Stenberg <daniel@haxx.se> | 2015-09-03 00:04:10 +0200 |
---|---|---|
committer | Kamil Dudka <kdudka@redhat.com> | 2015-09-04 10:41:43 +0200 |
commit | a60bde79f9adeb135d5c642a07f0d783fbfbbc25 (patch) | |
tree | a7fb9ca0b94ae6882fccaaa138349f5a3544b55d /docs | |
parent | 82db076d9f8a5473a2e3ba3e1154b50f3bd03180 (diff) |
has: generate the curl/has.h header
changed macro name, moved and renamed script to become docs/libcurl/has.pl,
generate code that is checksrc compliant
Diffstat (limited to 'docs')
-rw-r--r-- | docs/libcurl/Makefile.am | 2 | ||||
-rwxr-xr-x | docs/libcurl/symbols.pl | 100 |
2 files changed, 1 insertions, 101 deletions
diff --git a/docs/libcurl/Makefile.am b/docs/libcurl/Makefile.am index 5456ee418..677fb94ad 100644 --- a/docs/libcurl/Makefile.am +++ b/docs/libcurl/Makefile.am @@ -90,7 +90,7 @@ dist_m4macro_DATA = libcurl.m4 CLEANFILES = $(HTMLPAGES) $(PDFPAGES) $(TESTS) libcurl-symbols.3 EXTRA_DIST = $(man_MANS) $(HTMLPAGES) index.html $(PDFPAGES) ABI \ - symbols-in-versions symbols.pl mksymbolsmanpage.pl + symbols-in-versions mksymbolsmanpage.pl MAN2HTML= roffit --mandir=. < $< >$@ SUFFIXES = .3 .html diff --git a/docs/libcurl/symbols.pl b/docs/libcurl/symbols.pl deleted file mode 100755 index a7b76e239..000000000 --- a/docs/libcurl/symbols.pl +++ /dev/null @@ -1,100 +0,0 @@ -#!/usr/bin/perl -#*************************************************************************** -# _ _ ____ _ -# Project ___| | | | _ \| | -# / __| | | | |_) | | -# | (__| |_| | _ <| |___ -# \___|\___/|_| \_\_____| -# -# Copyright (C) 2011, 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 http://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. -# -########################################################################### -# -# Experience has shown that the symbols-in-versions file is very useful to -# applications that want to build with a wide range of libcurl versions. -# It is however easy to get it wrong and the source gets a bit messy with all -# the fixed numerical comparisons. -# -# The point of this script is to provide an easy-to-use macro for libcurl- -# using applications to do preprocessor checks for specific libcurl defines, -# and yet make the code clearly show what the macro is used for. -# -# Run this script and generate libcurl-symbols.h and then use that header in -# a fashion similar to: -# -# #include "libcurl-symbols.h" -# -# #if LIBCURL_HAS(CURLOPT_MUTE) -# has mute -# #else -# no mute -# #endif -# -# -open F, "<symbols-in-versions"; - -sub str2num { - my ($str)=@_; - if($str =~ /([0-9]*)\.([0-9]*)\.*([0-9]*)/) { - return sprintf("0x%06x", $1<<16 | $2 << 8 | $3); - } -} - -print <<EOS - -#include <curl/curl.h> - -#define LIBCURL_HAS(x) \\ - (defined(x ## _FIRST) && (x ## _FIRST <= LIBCURL_VERSION_NUM) && \\ - (!defined(x ## _LAST) || ( x ## _LAST >= LIBCURL_VERSION_NUM))) - -EOS - ; - -while(<F>) { - if(/^(CURL[^ ]*)[ \t]*(.*)/) { - my ($sym, $vers)=($1, $2); - - my $intr; - my $rm; - my $dep; - - # is there removed info? - if($vers =~ /([\d.]+)[ \t-]+([\d.-]+)[ \t]+([\d.]+)/) { - ($intr, $dep, $rm)=($1, $2, $3); - } - # is it a dep-only line? - elsif($vers =~ /([\d.]+)[ \t-]+([\d.]+)/) { - ($intr, $dep)=($1, $2); - } - else { - $intr = $vers; - } - - my $inum = str2num($intr); - - print <<EOS -#define ${sym}_FIRST $inum /* Added in $intr */ -EOS -; - my $irm = str2num($rm); - if($rm) { - print <<EOS -#define ${sym}_LAST $irm /* Last featured in $rm */ -EOS -; - } - - } -} |