X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f X-Trace-PostClient-IP: 68.147.225.57 From: Brian Inglis Newsgroups: comp.os.msdos.djgpp Subject: Re: ANNOUNCE: libsupp 1.0 for DJGPP 2.03 and 2.04 uploaded. Organization: Systematic Software Message-ID: <7fsnt3hdr6hn8bv2t5fcktlnavhtas6sd8@4ax.com> References: <2e4bc7d8-1faa-4ea0-8607-a168f4989c98 AT k13g2000hse DOT googlegroups DOT com> <47D94A76 DOT C7568D04 AT yahoo DOT com> X-Newsreader: Forte Agent 1.93/32.576 English (American) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Lines: 168 Date: Sat, 15 Mar 2008 15:58:05 GMT NNTP-Posting-Host: 64.59.135.176 X-Complaints-To: abuse AT shaw DOT ca X-Trace: pd7urf1no 1205596685 64.59.135.176 (Sat, 15 Mar 2008 09:58:05 MDT) NNTP-Posting-Date: Sat, 15 Mar 2008 09:58:05 MDT To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com On Thu, 13 Mar 2008 05:55:33 -0700 (PDT) in comp.os.msdos.djgpp, Juan Manuel Guerrero wrote: >This is libsupp 1.0 for MSDOS/DJGPP. > > >1.: Introduction. > ============= > > This is a support library for DJGPP 2.04 and 2.03. It shall provide > a small set of improved versions of functions from DJGPP's CVS source > tree or new functions that still have not been implemented for DJGPP > so that the original functions provided with DJGPP's libc.a (2.04 and > 2.03) can be replaced with these new ones. > The decision which function is part and which one is not part of this > library is based on the usefullnes for porting current GNU packages. > If the amount of provided functions increases in the future will depend > on the requirements of the GNU packages to be ported. > > The following functions are provided: > asprintf() > cprintf() > fprintf() > printf() > snprintf() > sprintf() > vasprintf() > vfprintf() > vprintf() > vsnprntf() > vsprintf() > _doprnt() > Apart from the features already provided by the familiy of printf() > functions from djdev204, this version of the functions will provide: > 1: Flags. > ': This flag allows to format the integer part with the thousands' > character. Because DJGPP only offers C/POSIX locale and this > do not define a thousands' character the flag is ignored. > 2: Length modifiers. > DJGPP provides all of them. > 3: Conversion specifiers. > F: 'F' Has been added and works like 'f'. > aA: With this conversion specifier a floating point number will be > converted in the style "[-]0xh.hhhhp[+|-]d", where h are hexadecimal > digits, p stands for the power of 2 and d is exponent expressed > in decimal digits. %a prints lower case characters and %A > prints upper case characters. > This implementation of printf family of functions also supports numbered > conversion specifiers (%n$ for defining the position of the argument to > be printed in the argument list, and *n$ for defining the position of > the field width and precision to be used in the argument list). > > To be able to use the new functions you will have to include the header > (libsupp.h) in your source code. This header will provide the macros > to map the conventional function names to their real library names. > All library names start with the prefix "libsupp_". E.g.: > printf --> libsupp_printf > If you still use djdev203 then the header will also provide the data > types definitions for intmax_t and uintmax_t. The definitios have been > taken from stdint.h and I have not been able to figure out a way to > check if your code already provides a definition of these data types, > so these are always defined and this may trigger warnings or errors when > your code is compiled. If this happens it will be your job to fix your > code. > > Because the provided functions depend on other libc functions, this > library must be linked before the standard C library, libc.a, is linked > into your programs by gcc. E.g.: > gcc -Wall -O2 prog.c -lsupp > > The /diffs directory contains two patches that documents the changes I > have done. The diffs-cvs patch shows all changes I have done against > the sources of the CVS tree as checked out on 2008-03-10. The second > patch is diffs-lib and shows the changes against the *patched* checked > out CVS sources that are required to create the sources of this library. > It is your choice if you prefer to check out the CVS sources, patch them > and build your own libc.a with the proposed new functionality or if you > prefer to use this library. > > > >2.: Installation. > ============= > > The binary package provides a header file, libsupp.h, the library file, > libsupp.a, and the info docs. All this is installed in the standard > places of your DJGPP installation tree. Copy the binary distribution > into the top DJGPP installation directory, just unzip it preserving > the directory structure running *one* of the following commands: > unzip32 lsupp10a.zip or > djtarx lsupp10a.zip or > pkunzip -d lsupp10a.zip > You must add an entry in your /info/dir file to be able to read the > docs. Do this with a command like this: > install-info --info-dir=/dev/env/DJDIR/info --section="From lsuppNNa.zip" /dev/env/DJDIR/info/libsupp.info > > > >3.: Building the binaries from sources. > =================================== > > The library can *only* be build with *djdev204*. > >3.1.: Create a temporary directory and copy the source package into the > directory. Just unzip it preserving the directory structure running > *one* of the following commands: > unzip32 lsupp10s.zip or > djtarx lsupp10s.zip or > pkunzip -d lsupp10s.zip > >3.2.: To build the library cd into the top srcdir and run the shell script > like this: > sh mklib.sh > The script accepts only a single optional argument that specifies the > installation directory. If it is omitted the products will be stored > in the /_build_ directory created in the top srcdir. > The script will build the library and the info docs; if everything is > successfully build then the test program in the /tests directory is > build and started. The output of the test program ist stored in > /tests/test.txt for inspection. During the building of the test > program a lot of warnings will appear. This is intentional to test > that the compiler recognizes the new functions as functions of the type > of *printf family and produces the typical warnings if flag combinations > are used that are not allowed or defined. > > You *cannot* build the library with djdev203. If you want to compile > and run the test program with djdev203 and the library, you must > replace the line > # include "../include/libsupp.h" > with > # include > Compile it with a command like this: > gcc -Wall -O02 test.c -o test.exe -lsupp > start it and inspect the output stored in test.txt. > > The description of printf() can be found at: > > > > >4.: Downloading. > ============ > > The library consists of two packages that have been compiled using > djdev204 and that can be downloaded from ftp.delorie.com and mirrors > as (timestamp 2008-03-11): > > libsupp 1.0 header, lib and info docs: > ftp://ftp.delorie.com/pub/djgpp/beta/v2tk/lsupp10a.zip > > libsupp 1.0 source: > ftp://ftp.delorie.com/pub/djgpp/beta/v2tk/lsupp10s.zip > > > > > Send suggestions and bug reports concerning the library to > comp.os.msdos.djgpp or . > > Enjoy. > > Guerrero, Juan Manuel -- Thanks. Take care, Brian Inglis Calgary, Alberta, Canada Brian DOT Inglis AT CSi DOT com (Brian[dot]Inglis{at}SystematicSW[dot]ab[dot]ca) fake address use address above to reply