Add common definitions for Windows builds.
authorAlin Serdean <aserdean@cloudbasesolutions.com>
Thu, 19 Dec 2013 18:23:12 +0000 (18:23 +0000)
committerBen Pfaff <blp@nicira.com>
Fri, 27 Dec 2013 16:03:52 +0000 (08:03 -0800)
Signed-off-by: Alin Serdean <aserdean at cloudbasesolutions.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
Makefile.am
include/automake.mk
include/windows/automake.mk [new file with mode: 0644]
include/windows/syslog.h [new file with mode: 0644]
include/windows/windefs.h [new file with mode: 0644]
lib/string.h.in
m4/openvswitch.m4

index 5069f96..6acb0a6 100644 (file)
@@ -10,6 +10,11 @@ ACLOCAL_AMFLAGS = -I m4
 SUBDIRS = datapath
 
 AM_CPPFLAGS = $(SSL_CFLAGS)
+
+if WIN32
+AM_CPPFLAGS += -I $(top_srcdir)/include/windows
+endif
+
 AM_CPPFLAGS += -I $(top_srcdir)/include
 AM_CPPFLAGS += -I $(top_srcdir)/lib
 AM_CPPFLAGS += -I $(top_builddir)/lib
index f34e5c9..37a6f77 100644 (file)
@@ -2,3 +2,4 @@ include include/linux/automake.mk
 include include/openflow/automake.mk
 include include/openvswitch/automake.mk
 include include/sparse/automake.mk
+include include/windows/automake.mk
diff --git a/include/windows/automake.mk b/include/windows/automake.mk
new file mode 100644 (file)
index 0000000..07ada1b
--- /dev/null
@@ -0,0 +1,10 @@
+# Copyright (C) 2013 Nicira, Inc.
+#
+# Copying and distribution of this file, with or without modification
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.  This file is offered as-is,
+# without warranty of any kind.
+
+noinst_HEADERS += \
+       include/windows/windefs.h \
+       include/windows/syslog.h
diff --git a/include/windows/syslog.h b/include/windows/syslog.h
new file mode 100644 (file)
index 0000000..484cd10
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2013 Cloudbase Solutions Srl
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
+ * not use this file except in compliance with the License.You may obtain
+ * a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the
+ * License for the specific language governing permissions and limitations
+ * under the License.
+ */
+
+#ifndef SYSLOG_H
+#define SYSLOG_H 1
+
+#define LOG_EMERG       0       /* system is unusable */
+#define LOG_ALERT       1       /* action must be taken immediately */
+#define LOG_CRIT        2       /* critical conditions */
+#define LOG_ERR         3       /* error conditions */
+#define LOG_WARNING     4       /* warning conditions */
+#define LOG_NOTICE      5       /* normal but significant condition */
+#define LOG_INFO        6       /* informational */
+#define LOG_DEBUG       7       /* debug-level messages */
+#define LOG_NDELAY      8       /* don't delay open */
+#define LOG_DAEMON      24      /* system daemons */
+
+#endif /* syslog.h */
diff --git a/include/windows/windefs.h b/include/windows/windefs.h
new file mode 100644 (file)
index 0000000..dcfa20b
--- /dev/null
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2013 Nicira, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef WINDEFS_H
+#define WINDEFS_H 1
+
+#include <Winsock2.h>
+#include <In6addr.h>
+#include <WS2tcpip.h>
+#include <windows.h>
+#include <BaseTsd.h>
+
+#define inline __inline
+#define __func__ __FUNCTION__
+#define ssize_t SSIZE_T
+#define u_int8_t uint8_t
+#define u_int16_t uint16_t
+#define u_int32_t uint32_t
+#define u_int64_t uint64_t
+
+#endif /* windefs.h */
index 6e2c2ba..9e8fba9 100644 (file)
 #undef strtok_r
 #endif
 
+#ifdef _WIN32
+#define strtok_r strtok_s
+#define strcasecmp _stricmp
+#define strncasecmp _strnicmp
+#endif
+
 #ifndef HAVE_STRNLEN
 #undef strnlen
 #define strnlen rpl_strnlen
index b8157c0..ee7e96a 100644 (file)
@@ -64,6 +64,9 @@ AC_DEFUN([OVS_CHECK_WIN32],
    AM_CONDITIONAL([WIN32], [test "$WIN32" = yes])
    if test "$WIN32" = yes; then
       AC_DEFINE([WIN32], [1], [Define to 1 if building on WIN32.])
+      AH_BOTTOM([#ifdef WIN32
+#include "include/windows/windefs.h"
+#endif])
    fi])
 
 dnl Checks for Netlink support.