summaryrefslogtreecommitdiff
path: root/gettext-tools/woe32dll
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2014-12-24 07:38:37 +0000
committer <>2015-02-02 12:02:29 +0000
commit482840e61f86ca321838a91e902c41d40c098bbb (patch)
tree01ea2e242fd2792d19fe192476601587901db794 /gettext-tools/woe32dll
downloadgettext-tarball-482840e61f86ca321838a91e902c41d40c098bbb.tar.gz
Imported from /home/lorry/working-area/delta_gettext-tarball/gettext-0.19.4.tar.xz.gettext-0.19.4
Diffstat (limited to 'gettext-tools/woe32dll')
-rw-r--r--gettext-tools/woe32dll/c++format.cc1
-rw-r--r--gettext-tools/woe32dll/c++html-styled-ostream.cc1
-rw-r--r--gettext-tools/woe32dll/c++msgattrib.cc1
-rw-r--r--gettext-tools/woe32dll/c++msgcat.cc1
-rw-r--r--gettext-tools/woe32dll/c++msgcomm.cc1
-rw-r--r--gettext-tools/woe32dll/c++msgconv.cc1
-rw-r--r--gettext-tools/woe32dll/c++msgen.cc1
-rw-r--r--gettext-tools/woe32dll/c++msgfilter.cc1
-rw-r--r--gettext-tools/woe32dll/c++msggrep.cc1
-rw-r--r--gettext-tools/woe32dll/c++msgmerge.cc1
-rw-r--r--gettext-tools/woe32dll/c++msguniq.cc1
-rw-r--r--gettext-tools/woe32dll/c++term-styled-ostream.cc1
-rw-r--r--gettext-tools/woe32dll/c++xgettext.cc1
-rw-r--r--gettext-tools/woe32dll/export.h120
-rw-r--r--gettext-tools/woe32dll/gettextlib-exports.c36
-rw-r--r--gettext-tools/woe32dll/gettextpo-exports.c20
-rw-r--r--gettext-tools/woe32dll/gettextsrc-exports.c87
17 files changed, 276 insertions, 0 deletions
diff --git a/gettext-tools/woe32dll/c++format.cc b/gettext-tools/woe32dll/c++format.cc
new file mode 100644
index 0000000..3849025
--- /dev/null
+++ b/gettext-tools/woe32dll/c++format.cc
@@ -0,0 +1 @@
+#include "../src/format.c"
diff --git a/gettext-tools/woe32dll/c++html-styled-ostream.cc b/gettext-tools/woe32dll/c++html-styled-ostream.cc
new file mode 100644
index 0000000..207532b
--- /dev/null
+++ b/gettext-tools/woe32dll/c++html-styled-ostream.cc
@@ -0,0 +1 @@
+#include "../gnulib-lib/html-styled-ostream.c"
diff --git a/gettext-tools/woe32dll/c++msgattrib.cc b/gettext-tools/woe32dll/c++msgattrib.cc
new file mode 100644
index 0000000..d543e7d
--- /dev/null
+++ b/gettext-tools/woe32dll/c++msgattrib.cc
@@ -0,0 +1 @@
+#include "../src/msgattrib.c"
diff --git a/gettext-tools/woe32dll/c++msgcat.cc b/gettext-tools/woe32dll/c++msgcat.cc
new file mode 100644
index 0000000..19cd42b
--- /dev/null
+++ b/gettext-tools/woe32dll/c++msgcat.cc
@@ -0,0 +1 @@
+#include "../src/msgcat.c"
diff --git a/gettext-tools/woe32dll/c++msgcomm.cc b/gettext-tools/woe32dll/c++msgcomm.cc
new file mode 100644
index 0000000..0068838
--- /dev/null
+++ b/gettext-tools/woe32dll/c++msgcomm.cc
@@ -0,0 +1 @@
+#include "../src/msgcomm.c"
diff --git a/gettext-tools/woe32dll/c++msgconv.cc b/gettext-tools/woe32dll/c++msgconv.cc
new file mode 100644
index 0000000..5e80fff
--- /dev/null
+++ b/gettext-tools/woe32dll/c++msgconv.cc
@@ -0,0 +1 @@
+#include "../src/msgconv.c"
diff --git a/gettext-tools/woe32dll/c++msgen.cc b/gettext-tools/woe32dll/c++msgen.cc
new file mode 100644
index 0000000..2e843a9
--- /dev/null
+++ b/gettext-tools/woe32dll/c++msgen.cc
@@ -0,0 +1 @@
+#include "../src/msgen.c"
diff --git a/gettext-tools/woe32dll/c++msgfilter.cc b/gettext-tools/woe32dll/c++msgfilter.cc
new file mode 100644
index 0000000..c5ec745
--- /dev/null
+++ b/gettext-tools/woe32dll/c++msgfilter.cc
@@ -0,0 +1 @@
+#include "../src/msgfilter.c"
diff --git a/gettext-tools/woe32dll/c++msggrep.cc b/gettext-tools/woe32dll/c++msggrep.cc
new file mode 100644
index 0000000..a4e09e8
--- /dev/null
+++ b/gettext-tools/woe32dll/c++msggrep.cc
@@ -0,0 +1 @@
+#include "../src/msggrep.c"
diff --git a/gettext-tools/woe32dll/c++msgmerge.cc b/gettext-tools/woe32dll/c++msgmerge.cc
new file mode 100644
index 0000000..3542d02
--- /dev/null
+++ b/gettext-tools/woe32dll/c++msgmerge.cc
@@ -0,0 +1 @@
+#include "../src/msgmerge.c"
diff --git a/gettext-tools/woe32dll/c++msguniq.cc b/gettext-tools/woe32dll/c++msguniq.cc
new file mode 100644
index 0000000..3fac617
--- /dev/null
+++ b/gettext-tools/woe32dll/c++msguniq.cc
@@ -0,0 +1 @@
+#include "../src/msguniq.c"
diff --git a/gettext-tools/woe32dll/c++term-styled-ostream.cc b/gettext-tools/woe32dll/c++term-styled-ostream.cc
new file mode 100644
index 0000000..43eb773
--- /dev/null
+++ b/gettext-tools/woe32dll/c++term-styled-ostream.cc
@@ -0,0 +1 @@
+#include "../gnulib-lib/term-styled-ostream.c"
diff --git a/gettext-tools/woe32dll/c++xgettext.cc b/gettext-tools/woe32dll/c++xgettext.cc
new file mode 100644
index 0000000..2ca0f5c
--- /dev/null
+++ b/gettext-tools/woe32dll/c++xgettext.cc
@@ -0,0 +1 @@
+#include "../src/xgettext.c"
diff --git a/gettext-tools/woe32dll/export.h b/gettext-tools/woe32dll/export.h
new file mode 100644
index 0000000..8bd1566
--- /dev/null
+++ b/gettext-tools/woe32dll/export.h
@@ -0,0 +1,120 @@
+/* Exporting symbols from Cygwin shared libraries.
+ Copyright (C) 2006, 2011-2012 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2006.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* There are four ways to build shared libraries on Cygwin:
+
+ - Export only functions, no variables.
+ This has the drawback of severely affecting the programming style in use.
+ It does not let the programmer use full ANSI C. It lets one platform
+ dictate the code style on all platforms. This is unacceptable.
+
+ - Use the GNU ld --enable-auto-import option. It is the default on Cygwin
+ since July 2005. But it has three fatal drawbacks:
+ - It produces executables and shared libraries with relocations in the
+ .text segment, defeating the principles of virtual memory.
+ - For some constructs such as
+ extern int var;
+ int * const b = &var;
+ it creates an executable that will give an error at runtime, rather
+ than either a compile-time or link-time error or a working executable.
+ (This is with both gcc and g++.) Whereas this code, not relying on
+ auto-import:
+ extern __declspec (dllimport) int var;
+ int * const b = &var;
+ gives a compile-time error with gcc and works with g++.
+ - It doesn't work in some cases (references to a member field of an
+ exported struct variable, or to a particular element of an exported
+ array variable), requiring code modifications. Again one platform
+ dictates code modifications on all platforms.
+
+ This is unacceptable. Therefore we disable this option, through the
+ woe32-dll.m4 autoconf macro.
+
+ - Define a macro that expands to __declspec(dllexport) when building
+ the library and to __declspec(dllimport) when building code outside
+ the library, and use it in all header files of the library.
+ This is acceptable if
+ 1. the header files are unique to this library (not shared with
+ other packages), and
+ 2. the library sources are contained in one directory, making it easy
+ to define a -DBUILDING_LIBXYZ flag for the library.
+ Example:
+ #ifdef BUILDING_LIBASPRINTF
+ #define LIBASPRINTF_DLL_EXPORTED __declspec(dllexport)
+ #else
+ #define LIBASPRINTF_DLL_EXPORTED __declspec(dllimport)
+ #endif
+
+ We use this technique for the libintl and the libasprintf libraries.
+
+ - Define a macro that expands to __declspec(dllimport) always, and use
+ it in all header files of the library. Use an explicit export list for
+ the library.
+ This is acceptable if
+ 1. the programming language is not C++ (because the name mangling of
+ static struct/class fields and of variables in namespaces makes it
+ hard to maintain an export list).
+ The benefit of this approach is that the partitioning of the source files
+ into libraries (which source file goes into which library) does not
+ affect the source code; only the Makefiles reflect it.
+ The performance loss due to the unnecessary indirection for references
+ to variables from within the library defining the variable is acceptable.
+
+ We use this technique for libgettextlib (because it contains many gnulib
+ modules) and for libgettextsrc (because this makes it easy to move source
+ code from an msg* program to libgettextsrc). The macro is called
+ DLL_VARIABLE.
+
+ This file allows building an explicit export list. You can either
+ - specify the variables to be exported, and use the GNU ld option
+ --export-all-symbols to export all function names, or
+ - specify the variables and functions to be exported explicitly.
+
+ Note: --export-all-symbols is the default when no other symbol is explicitly
+ exported. This means, the use of an explicit export on the variables has
+ the effect of no longer exporting the functions! - until the option
+ --export-all-symbols is used.
+
+ See <http://www.haible.de/bruno/woe32dll.html> for more details. */
+
+#if defined __GNUC__ /* GCC compiler, GNU toolchain */
+
+ /* IMP(x) is a symbol that contains the address of x. */
+#if USER_LABEL_PREFIX_UNDERSCORE
+# define IMP(x) _imp__##x
+#else
+# define IMP(x) __imp_##x
+#endif
+
+ /* Ensure that the variable x is exported from the library, and that a
+ pseudo-variable IMP(x) is available. */
+# define VARIABLE(x) \
+ /* Export x without redefining x. This code was found by compiling a \
+ snippet: \
+ extern __declspec(dllexport) int x; int x = 42; */ \
+ asm (".section .drectve\n"); \
+ asm (".ascii \" -export:" #x ",data\"\n"); \
+ asm (".data\n"); \
+ /* Allocate a pseudo-variable IMP(x). */ \
+ extern int x; \
+ void * IMP(x) = &x;
+
+#else /* non-GNU compiler, non-GNU toolchain */
+
+# define VARIABLE(x) /* nothing */
+
+#endif
diff --git a/gettext-tools/woe32dll/gettextlib-exports.c b/gettext-tools/woe32dll/gettextlib-exports.c
new file mode 100644
index 0000000..0f1c33f
--- /dev/null
+++ b/gettext-tools/woe32dll/gettextlib-exports.c
@@ -0,0 +1,36 @@
+/* List of exported symbols of libgettextlib on Cygwin.
+ Copyright (C) 2006-2007, 2010 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2006.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include "woe32dll/export.h"
+
+VARIABLE(argmatch_die)
+#if GNULIB_DEFINED_ERROR
+VARIABLE(rpl_error_message_count)
+VARIABLE(rpl_error_one_per_line)
+VARIABLE(rpl_error_print_progname)
+#endif
+VARIABLE(error_with_progname)
+VARIABLE(exit_failure)
+VARIABLE(gl_array_list_implementation)
+VARIABLE(gl_linkedhash_list_implementation)
+VARIABLE(program_name)
+#if GNULIB_DEFINED_GETOPT
+VARIABLE(rpl_optarg)
+VARIABLE(rpl_optind)
+#endif
+VARIABLE(simple_backup_suffix)
+VARIABLE(styled_ostream_typeinfo)
diff --git a/gettext-tools/woe32dll/gettextpo-exports.c b/gettext-tools/woe32dll/gettextpo-exports.c
new file mode 100644
index 0000000..56e8cee
--- /dev/null
+++ b/gettext-tools/woe32dll/gettextpo-exports.c
@@ -0,0 +1,20 @@
+/* List of exported symbols of libgettextpo on Cygwin.
+ Copyright (C) 2006 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2006.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include "woe32dll/export.h"
+
+VARIABLE(libgettextpo_version)
diff --git a/gettext-tools/woe32dll/gettextsrc-exports.c b/gettext-tools/woe32dll/gettextsrc-exports.c
new file mode 100644
index 0000000..fc63e0b
--- /dev/null
+++ b/gettext-tools/woe32dll/gettextsrc-exports.c
@@ -0,0 +1,87 @@
+/* List of exported symbols of libgettextsrc on Cygwin.
+ Copyright (C) 2006-2007, 2009, 2011 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2006.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include "woe32dll/export.h"
+
+VARIABLE(allow_duplicates)
+VARIABLE(color_mode)
+VARIABLE(color_test_mode)
+VARIABLE(format_language)
+VARIABLE(format_language_pretty)
+VARIABLE(formatstring_awk)
+VARIABLE(formatstring_boost)
+VARIABLE(formatstring_c)
+VARIABLE(formatstring_csharp)
+VARIABLE(formatstring_elisp)
+VARIABLE(formatstring_gcc_internal)
+VARIABLE(formatstring_gfc_internal)
+VARIABLE(formatstring_java)
+VARIABLE(formatstring_javascript)
+VARIABLE(formatstring_kde)
+VARIABLE(formatstring_librep)
+VARIABLE(formatstring_lisp)
+VARIABLE(formatstring_lua)
+VARIABLE(formatstring_objc)
+VARIABLE(formatstring_parsers)
+VARIABLE(formatstring_pascal)
+VARIABLE(formatstring_perl)
+VARIABLE(formatstring_perl_brace)
+VARIABLE(formatstring_php)
+VARIABLE(formatstring_python)
+VARIABLE(formatstring_python_brace)
+VARIABLE(formatstring_qt)
+VARIABLE(formatstring_qt_plural)
+VARIABLE(formatstring_scheme)
+VARIABLE(formatstring_sh)
+VARIABLE(formatstring_smalltalk)
+VARIABLE(formatstring_tcl)
+VARIABLE(formatstring_ycp)
+VARIABLE(gram_max_allowed_errors)
+VARIABLE(gram_pos)
+VARIABLE(input_format_po)
+VARIABLE(input_format_properties)
+VARIABLE(input_format_stringtable)
+VARIABLE(less_than)
+VARIABLE(more_than)
+VARIABLE(msgcomm_mode)
+VARIABLE(omit_header)
+VARIABLE(output_format_po)
+VARIABLE(output_format_properties)
+VARIABLE(output_format_stringtable)
+VARIABLE(pass_obsolete_entries)
+VARIABLE(plural_table)
+VARIABLE(plural_table_size)
+VARIABLE(po_charset_ascii)
+VARIABLE(po_charset_utf8)
+VARIABLE(po_error)
+VARIABLE(po_error_at_line)
+VARIABLE(po_gram_lval)
+VARIABLE(po_lex_charset)
+#if HAVE_ICONV
+VARIABLE(po_lex_iconv)
+#endif
+VARIABLE(po_lex_weird_cjk)
+VARIABLE(po_multiline_error)
+VARIABLE(po_multiline_warning)
+VARIABLE(po_xerror)
+VARIABLE(po_xerror2)
+VARIABLE(style_file_name)
+VARIABLE(use_first)