office-gobmx/external/glibc-2.1.3.patch
Tor Lillqvist 981641aec8 Simplify MinGW crack
Avoid copy-pasting. Just change the pointless use of
double-underscore-prefixed identifiers __argc and __argv in the getopt
prototypes (which clashes with stuff from MinGW's stdlib.h,
apparently) to plain argc and argv for all platforms.
2011-06-22 09:07:10 +03:00

209 lines
7 KiB
Diff

--- misc/glibc-2.1.3/posix/config.h Mon Mar 31 09:43:50 2008
+++ misc/build/glibc-2.1.3/posix/config.h Mon Mar 31 09:43:26 2008
@@ -1 +1,42 @@
-dummy
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org 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 Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifdef WNT
+#include <stdlib.h>
+#define getenv getenv
+#endif
+
+
+#if defined(MACOSX)
+//Workaround for MACOS
+#define getopt my_neues_getopt
+#define opterr my_neues_opterr
+#define optind my_neues_optind
+#define optopt my_neues_optopt
+#endif
+
+
--- misc/glibc-2.1.3/posix/getopt.h Sun Aug 27 16:11:33 2000
+++ misc/build/glibc-2.1.3/posix/getopt.h Mon Mar 31 09:42:01 2008
@@ -131,7 +131,7 @@
/* Many other libraries have conflicting prototypes for getopt, with
differences in the consts, in stdlib.h. To avoid compilation
errors, only prototype getopt for the GNU C library. */
-extern int getopt (int __argc, char *const *__argv, const char *__shortopts);
+extern int getopt (int argc, char *const *argv, const char *shortopts);
# else /* not __GNU_LIBRARY__ */
extern int getopt ();
# endif /* __GNU_LIBRARY__ */
@@ -137,14 +137,14 @@
# endif /* __GNU_LIBRARY__ */
# ifndef __need_getopt
-extern int getopt_long (int __argc, char *const *__argv, const char *__shortopts,
+extern int getopt_long (int argc, char *const *argv, const char *shortopts,
const struct option *__longopts, int *__longind);
-extern int getopt_long_only (int __argc, char *const *__argv,
+extern int getopt_long_only (int argc, char *const *argv,
const char *__shortopts,
const struct option *__longopts, int *__longind);
/* Internal only. Users should not call this directly. */
-extern int _getopt_internal (int __argc, char *const *__argv,
+extern int _getopt_internal (int argc, char *const *argv,
const char *__shortopts,
const struct option *__longopts, int *__longind,
int __long_only);
--- misc/glibc-2.1.3/posix/makefile.mk Mon Mar 31 09:43:50 2008
+++ misc/build/glibc-2.1.3/posix/makefile.mk Mon Mar 31 09:43:38 2008
@@ -1 +1,70 @@
-dummy
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org 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 Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=external
+TARGET=gnu_getopt
+LIBTARGET=NO
+
+EXTERNAL_WARNINGS_NOT_ERRORS := TRUE
+
+SOLARINC+=-I..
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : settings.mk
+
+CDEFS+=-DHAVE_STRING_H -DHAVE_CONFIG_H
+
+# --- Files --------------------------------------------------------
+
+.IF "$(HAVE_GETOPT)" != "YES"
+OBJFILES= $(OBJ)$/getopt.obj \
+ $(OBJ)$/getopt1.obj
+
+LIB1TARGET=$(SLB)$/$(TARGET).lib
+LIB1ARCHIV=$(LB)$/lib$(TARGET).a
+LIB1OBJFILES=$(OBJFILES)
+.ENDIF
+
+.IF "$(HAVE_READDIR_R)" != "YES" && "$(OS)" != "WNT"
+TARGET2=gnu_readdir_r
+OBJFILES+= $(OBJ)$/readdir_r.obj
+LIB2TARGET=$(SLB)$/$(TARGET2).lib
+LIB2ARCHIV=$(LB)$/lib$(TARGET2).a
+LIB2OBJFILES= $(OBJ)$/readdir_r.obj
+.ENDIF
+
+.IF "$(HAVE_READDIR_R)" == "YES" && "$(HAVE_GETOPT)" == "YES"
+@all:
+ @echo "Nothing to do here.
+.ENDIF
+
+# --- Targets ------------------------------------------------------
+
+.INCLUDE : target.mk
--- misc/glibc-2.1.3/posix/readdir_r.c Mon Mar 31 09:43:50 2008
+++ misc/build/glibc-2.1.3/posix/readdir_r.c Mon Mar 31 09:42:01 2008
@@ -1 +1,56 @@
-dummy
+/* Copyright (C) 1991,92,93,94,95,96,97,98,99,2000 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ The GNU C Library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#include <errno.h>
+#include <limits.h>
+#include <stddef.h>
+#include <string.h>
+#include <dirent.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <assert.h>
+
+#ifndef __READDIR_R
+# define __READDIR_R readdir_r
+# define DIRENT_TYPE struct dirent
+#endif
+
+/* Read a directory entry from DIRP. */
+int
+__READDIR_R (DIR *dirp, DIRENT_TYPE *entry, DIRENT_TYPE **result)
+{
+ DIRENT_TYPE *dp;
+ size_t reclen;
+
+ errno = 0;
+ /* call our non-reentrant counterpart to get the information */
+ dp = readdir(dirp);
+
+ /* copy the result into entry */
+ if (dp != NULL) {
+ reclen = dp->d_reclen; /* This might be NetBSD-specific
+ * Add #ifdef's if anything else needed */
+ *result = memcpy(entry, dp, reclen);
+ } else {
+ *result = NULL;
+ }
+
+ return dp != NULL ? 0 : errno ? errno : 0;
+}
+
+