From e42dfc72258c0b563a16ec36c9230287fbbcc7ae Mon Sep 17 00:00:00 2001 From: Alin Serdean Date: Thu, 19 Dec 2013 18:23:12 +0000 Subject: [PATCH] Add common definitions for Windows builds. Signed-off-by: Alin Serdean Signed-off-by: Ben Pfaff --- Makefile.am | 5 +++++ include/automake.mk | 1 + include/windows/automake.mk | 10 ++++++++++ include/windows/syslog.h | 31 +++++++++++++++++++++++++++++++ include/windows/windefs.h | 34 ++++++++++++++++++++++++++++++++++ lib/string.h.in | 6 ++++++ m4/openvswitch.m4 | 3 +++ 7 files changed, 90 insertions(+) create mode 100644 include/windows/automake.mk create mode 100644 include/windows/syslog.h create mode 100644 include/windows/windefs.h diff --git a/Makefile.am b/Makefile.am index 5069f962e..6acb0a6b4 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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 diff --git a/include/automake.mk b/include/automake.mk index f34e5c9bf..37a6f77af 100644 --- a/include/automake.mk +++ b/include/automake.mk @@ -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 index 000000000..07ada1b33 --- /dev/null +++ b/include/windows/automake.mk @@ -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 index 000000000..484cd1035 --- /dev/null +++ b/include/windows/syslog.h @@ -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 index 000000000..dcfa20bf0 --- /dev/null +++ b/include/windows/windefs.h @@ -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 +#include +#include +#include +#include + +#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 */ diff --git a/lib/string.h.in b/lib/string.h.in index 6e2c2baaf..9e8fba91d 100644 --- a/lib/string.h.in +++ b/lib/string.h.in @@ -31,6 +31,12 @@ #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 diff --git a/m4/openvswitch.m4 b/m4/openvswitch.m4 index b8157c045..ee7e96a8d 100644 --- a/m4/openvswitch.m4 +++ b/m4/openvswitch.m4 @@ -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. -- 2.20.1