Fixes for building with MSVC.

This commit is contained in:
Paul Smith 2013-09-29 13:45:25 -04:00
parent d0944ee2e8
commit 1f4ca0539b
4 changed files with 21 additions and 6 deletions

View File

@ -1,5 +1,10 @@
2013-09-29 Paul Smith <psmith@gnu.org> 2013-09-29 Paul Smith <psmith@gnu.org>
* output.c: Guard unistd.h inclusion, add io.h.
* gnumake.h: Move GMK_EXPORT before the declarations.
* make_msvc_net2003.vcproj: Add missing files.
Changes for MSVC suggested by Gerte Hoogewerf <g.hoogewerf@gmail.com>
* function.c (func_shell_base) [EMX]: Fix EMX support for output-sync. * function.c (func_shell_base) [EMX]: Fix EMX support for output-sync.
* job.c (child_execute_job) [EMX]: Ditto. * job.c (child_execute_job) [EMX]: Ditto.
* job.h (child_execute_job) [EMX]: Ditto. * job.h (child_execute_job) [EMX]: Ditto.

View File

@ -38,17 +38,17 @@ typedef struct
#endif #endif
/* Free memory returned by the gmk_expand() function. */ /* Free memory returned by the gmk_expand() function. */
void GMK_EXPORT gmk_free (char *str); GMK_EXPORT void gmk_free (char *str);
/* Allocate memory in GNU make's context. */ /* Allocate memory in GNU make's context. */
char * GMK_EXPORT gmk_alloc (unsigned int len); GMK_EXPORT char *gmk_alloc (unsigned int len);
/* Run $(eval ...) on the provided string BUFFER. */ /* Run $(eval ...) on the provided string BUFFER. */
void GMK_EXPORT gmk_eval (const char *buffer, const gmk_floc *floc); GMK_EXPORT void gmk_eval (const char *buffer, const gmk_floc *floc);
/* Run GNU make expansion on the provided string STR. /* Run GNU make expansion on the provided string STR.
Returns an allocated buffer that the caller must free with gmk_free(). */ Returns an allocated buffer that the caller must free with gmk_free(). */
char * GMK_EXPORT gmk_expand (const char *str); GMK_EXPORT char *gmk_expand (const char *str);
/* Register a new GNU make function NAME (maximum of 255 chars long). /* Register a new GNU make function NAME (maximum of 255 chars long).
When the function is expanded in the makefile, FUNC will be invoked with When the function is expanded in the makefile, FUNC will be invoked with
@ -65,7 +65,7 @@ char * GMK_EXPORT gmk_expand (const char *str);
If EXPAND_ARGS is 0, the arguments to the function will not be expanded If EXPAND_ARGS is 0, the arguments to the function will not be expanded
before FUNC is called. If EXPAND_ARGS is non-0, they will be expanded. before FUNC is called. If EXPAND_ARGS is non-0, they will be expanded.
*/ */
void GMK_EXPORT gmk_add_function (const char *name, GMK_EXPORT void gmk_add_function (const char *name,
char *(*func)(const char *nm, char *(*func)(const char *nm,
int argc, char **argv), int argc, char **argv),
int min_args, int max_args, int expand_args); int min_args, int max_args, int expand_args);

View File

@ -171,6 +171,9 @@
<File <File
RelativePath=".\job.c"> RelativePath=".\job.c">
</File> </File>
<File
RelativePath=".\load.c">
</File>
<File <File
RelativePath=".\output.c"> RelativePath=".\output.c">
</File> </File>
@ -210,6 +213,9 @@
<File <File
RelativePath=".\w32\compat\dirent.c"> RelativePath=".\w32\compat\dirent.c">
</File> </File>
<File
RelativePath=".\w32\compat\posixfcn.c">
</File>
<File <File
RelativePath=".\w32\subproc\misc.c"> RelativePath=".\w32\subproc\misc.c">
<FileConfiguration <FileConfiguration

View File

@ -22,7 +22,10 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#include <assert.h> #include <assert.h>
#include <stdio.h> #include <stdio.h>
#include <stdarg.h> #include <stdarg.h>
#include <unistd.h>
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
#ifdef HAVE_FCNTL_H #ifdef HAVE_FCNTL_H
# include <fcntl.h> # include <fcntl.h>
@ -32,6 +35,7 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
#ifdef WINDOWS32 #ifdef WINDOWS32
# include <windows.h> # include <windows.h>
# include <io.h>
# include "sub_proc.h" # include "sub_proc.h"
#endif /* WINDOWS32 */ #endif /* WINDOWS32 */