diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2014-12-24 07:38:37 +0000 |
---|---|---|
committer | <> | 2015-02-02 12:02:29 +0000 |
commit | 482840e61f86ca321838a91e902c41d40c098bbb (patch) | |
tree | 01ea2e242fd2792d19fe192476601587901db794 /gettext-tools/woe32dll | |
download | gettext-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.cc | 1 | ||||
-rw-r--r-- | gettext-tools/woe32dll/c++html-styled-ostream.cc | 1 | ||||
-rw-r--r-- | gettext-tools/woe32dll/c++msgattrib.cc | 1 | ||||
-rw-r--r-- | gettext-tools/woe32dll/c++msgcat.cc | 1 | ||||
-rw-r--r-- | gettext-tools/woe32dll/c++msgcomm.cc | 1 | ||||
-rw-r--r-- | gettext-tools/woe32dll/c++msgconv.cc | 1 | ||||
-rw-r--r-- | gettext-tools/woe32dll/c++msgen.cc | 1 | ||||
-rw-r--r-- | gettext-tools/woe32dll/c++msgfilter.cc | 1 | ||||
-rw-r--r-- | gettext-tools/woe32dll/c++msggrep.cc | 1 | ||||
-rw-r--r-- | gettext-tools/woe32dll/c++msgmerge.cc | 1 | ||||
-rw-r--r-- | gettext-tools/woe32dll/c++msguniq.cc | 1 | ||||
-rw-r--r-- | gettext-tools/woe32dll/c++term-styled-ostream.cc | 1 | ||||
-rw-r--r-- | gettext-tools/woe32dll/c++xgettext.cc | 1 | ||||
-rw-r--r-- | gettext-tools/woe32dll/export.h | 120 | ||||
-rw-r--r-- | gettext-tools/woe32dll/gettextlib-exports.c | 36 | ||||
-rw-r--r-- | gettext-tools/woe32dll/gettextpo-exports.c | 20 | ||||
-rw-r--r-- | gettext-tools/woe32dll/gettextsrc-exports.c | 87 |
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) |