[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: make getopt.c build in visual studio
From: |
Simon Josefsson |
Subject: |
Re: make getopt.c build in visual studio |
Date: |
Tue, 07 Mar 2006 14:30:52 +0100 |
User-agent: |
Gnus/5.110004 (No Gnus v0.4) Emacs/22.0.50 (gnu/linux) |
address@hidden (Eric Blake) writes:
>> With this, getopt actually do seem to compile and work in Visual
>> Studio. Tested with the CLI in libtasn1, part of GnuTLS, with long
>> options.
>>
>> I'll install this shortly unless someone protests.
>
> I'm not sure about this. Lately, the move has been to assume that
> <unistd.h> exists, and this is a step backwards. What if, instead,
> you provided a unistd_.h that got installed on platforms that are
> lacking (so far, only MSVS comes to mind), then make modules
> that unconditionally use <unistd.h> depend on a new unistd
> module?
That sounds better. I've installed this.
Index: ChangeLog
===================================================================
RCS file: /sources/gnulib/gnulib/ChangeLog,v
retrieving revision 1.503
diff -u -p -r1.503 ChangeLog
--- ChangeLog 7 Mar 2006 13:17:11 -0000 1.503
+++ ChangeLog 7 Mar 2006 13:30:17 -0000
@@ -1,5 +1,11 @@
2006-03-07 Simon Josefsson <address@hidden>
+ * modules/getopt (Depends-on): Add unistd.
+
+ * modules/unistd: New file.
+
+2006-03-07 Simon Josefsson <address@hidden>
+
* modules/gc-random: New file.
2006-03-03 Simon Josefsson <address@hidden>
Index: lib/ChangeLog
===================================================================
RCS file: /sources/gnulib/gnulib/lib/ChangeLog,v
retrieving revision 1.1111
diff -u -p -r1.1111 ChangeLog
--- lib/ChangeLog 7 Mar 2006 13:17:10 -0000 1.1111
+++ lib/ChangeLog 7 Mar 2006 13:30:18 -0000
@@ -1,5 +1,9 @@
2006-03-07 Simon Josefsson <address@hidden>
+ * unistd_.h: New file.
+
+2006-03-07 Simon Josefsson <address@hidden>
+
* gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
2006-03-01 Simon Josefsson <address@hidden>
Index: lib/unistd_.h
===================================================================
RCS file: lib/unistd_.h
diff -N lib/unistd_.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ lib/unistd_.h 7 Mar 2006 13:30:18 -0000
@@ -0,0 +1,24 @@
+/* A unistd.h replacement for systems lacking it.
+ Copyright (C) 2006 Free Software Foundation, Inc.
+
+ 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 2, 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, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ USA. */
+
+/* Put any statements that are necessary to get a working unistd.h in
+ this file. */
+
+/* MS Visual Studio doesn't have unistd.h, but it doesn't seem to need
+ any particular statements in this file. So this file is here to
+ avoid breaking '#include <unistd.h>' in other files. */
Index: m4/ChangeLog
===================================================================
RCS file: /sources/gnulib/gnulib/m4/ChangeLog,v
retrieving revision 1.792
diff -u -p -r1.792 ChangeLog
--- m4/ChangeLog 7 Mar 2006 13:20:11 -0000 1.792
+++ m4/ChangeLog 7 Mar 2006 13:30:18 -0000
@@ -1,5 +1,9 @@
2006-03-07 Simon Josefsson <address@hidden>
+ * unistd_h.m4: New file.
+
+2006-03-07 Simon Josefsson <address@hidden>
+
* readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
test to be side-effect free by storing the result in the cache
variable gl_cv_lib_readline, and moving the assignment of
Index: modules/unistd
===================================================================
RCS file: modules/unistd
diff -N modules/unistd
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ modules/unistd 7 Mar 2006 13:30:18 -0000
@@ -0,0 +1,31 @@
+Description:
+A <unistd.h> for systems lacking it.
+
+Files:
+lib/unistd_.h
+m4/unistd_h.m4
+
+Depends-on:
+
+configure.ac:
+gl_HEADER_UNISTD
+
+Makefile.am:
+BUILT_SOURCES += $(UNISTD_H)
+EXTRA_DIST += unistd_.h
+
+# We need the following in order to create <byteswap.h> when the system
+# doesn't have one.
+unistd.h: unistd_.h
+ cp $(srcdir)/unistd_.h address@hidden
+ mv address@hidden $@
+MOSTLYCLEANFILES += unistd.h unistd.h-t
+
+Include:
+#include <unistd.h>
+
+License:
+LGPL
+
+Maintainer:
+Simon Josefsson
Index: modules/getopt
===================================================================
RCS file: /sources/gnulib/gnulib/modules/getopt,v
retrieving revision 1.9
diff -u -p -r1.9 getopt
--- modules/getopt 22 Jul 2005 22:04:12 -0000 1.9
+++ modules/getopt 7 Mar 2006 13:30:18 -0000
@@ -10,6 +10,7 @@ m4/getopt.m4
Depends-on:
gettext-h
+unistd
configure.ac:
gl_GETOPT