GithubHelp home page GithubHelp logo

actions4git / mirror-example Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 134 KB

Mirror of https://sourceforge.net/p/mingw/regex/ci/master/tree/ | https://github.com/actions4git/mirror

License: GNU Lesser General Public License v2.1

Makefile 1.05% M4 1.73% C 91.91% Roff 5.32%
git-mirror mirror no-issues no-prs sourceforge sync

mirror-example's Introduction

This is the regex functionality from glibc 2.5 extracted into a
separate library, for Win32.  It may be built, from the sources
provided, using the command sequence:--

  ./configure [--options...] && make

For a list of available configuration options, run:--

  ./configure --help

After building, as above, the resultant DLL, and optionally the
associated development kit, may be installed by:--

  make install

while redistributable binary DLL and development library kits may
be created by:--

  make dist


The original sources, on which this port is based, remain
copyright of their respective authors, or of the Free Software
Foundation Inc., as indicated in individual file headers; all are
redistributed with permission, as granted by the GNU Lesser
General Public License.

This is free software.  It is provided AS IS, in the hope that
it may be useful, but WITHOUT WARRANTY OF ANY KIND, not even an
IMPLIED WARRANTY of MERCHANTABILITY, nor of FITNESS FOR ANY
PARTICULAR PURPOSE.

Permission is granted to redistribute this software, either
"as is" or in modified form, under the terms of the GNU Lesser
General Public License, as published by the Free Software
Foundation; either version 2.1, or (at your option) any later
version.

You should have received a copy of the GNU Lesser General Public
License along with this software; see the file COPYING.LIB.  If
not, write to the Free Software Foundation, 51 Franklin St -
Fifth Floor, Boston, MA 02110-1301, USA.

The original port of this functionality was implemented by Tor
Lillqvist; I've adapted his work, to make it somewhat more MinGW
friendly.  I have *not* modified any of the `C' sources provided
by Tor; nor have I changed the naming conventions he adopted for
generated distributables.  I *have*:--

1) Replaced Tor's original `Makefile' with an autoconf generated
   configure script, and a backwardly compatible `Makefile.in';
   this provides a more flexible build procedure, which I find
   more convenient, when cross-compiling on a GNU/Linux host.

2) Added VPATH support, for `out of tree' builds.

3) Adapted the build procedure, to avoid a dependency on the `lib'
   program from Microsoft's MSVC tool chain.  This is achieved by
   providing an option to configure, which is disabled by default;
   it may by activated by specifying `--enable-msvc-implib' on the
   configure command line.  If this option is not activated, or if
   the MSVC `lib' tool is not present, the Makefile is configured
   without binding the rule for building an MSVC compatible import
   library, to the default target, (although the rule is left in
   place for explicit use).

   If the `--enable-msvc-implib' option is specified, but `lib' is
   not present, then configure will issue a warning message, and
   will again configure the Makefile without binding this rule to
   the default target.

   Only if the `--enable-msvc-implib' option is specified, *and*
   the `lib' tool is present, will building of an MSVC compatible
   import library be configured as a default deliverable.

4) Added `install', `install-dll' and `install-dev' targets, to
   support direct installation of the DLL, and its associated
   development kit.

5) Changed the default packaging format for distributables, from
   Tor's exclusive choice of `zip', to my own preferred `tar.gz';
   `zip' format remains available, as an option, by configuring
   with `--enable-dist=zip'.

6) Added `bindist', `devdist' and `srcdist' targets, for greater
   flexibility in building distribution kits.

The original text of Tor's README file will be found below.

--Keith Marshall  <[email protected]>

I call the DLL libgnurx-0.dll which hopefully should be unique. At
least it isn't "regex.dll" which has been used by the
gnuwin32.sourceforge.net site for *two* incompatible DLLs. (That mess,
and the mess with their build of Henry Spencer's regex library, was
what lead me to build my own GNU regex library. See the
gnuwin32-users mailing list archives from December 2006.)

The "-0" is so that if at some point I build a release that isn't
binary compatible, I can then increment that and use a different name.

The import library for gcc is called libgnurx.dll.a, but I also
distribute a copy of it called libregex.a so that configure scripts
that look for -lregex will work.

Note that none of the wide-character and i18n functionality which is
built when this is part of glibc gets compiled. Thus things like
character classes most probably work only for single-byte codepages.

Compiling that stuff would drag in lots of glibc's locale handling
stuff which is completely incompatible with Microsoft's C library's
locale handling anyway. Also, I am not sure whether the GNU regex code
is prepared to handle a two-byte wchar_t, or does it assume that
wchar_t is int as it is on Linux? Hmm, actually there is lots of
sizeof(wchar_t) in glibc, so maybe it *is* prepared? Maybe
later... But anyway, it would presumably mean we should have not just
the regex functionality but a larger subset of glibc that would
include all locale, ctype, wchar, mbs, etc stuff, presumably ending up
with a very large part of glibc (not the system calls,
obviously). Indeed, something to save for later, or never...

--Tor Lillqvist <[email protected]>, <[email protected]>

mirror-example's People

Contributors

keithmarshall avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.