diff options
Diffstat (limited to 'src/libieee1284-1-ssize_t.patch')
-rw-r--r-- | src/libieee1284-1-ssize_t.patch | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/src/libieee1284-1-ssize_t.patch b/src/libieee1284-1-ssize_t.patch new file mode 100644 index 0000000..ce23384 --- /dev/null +++ b/src/libieee1284-1-ssize_t.patch @@ -0,0 +1,80 @@ +From 55a02d19ec885b2cc1d9c39813aa706bf68c122b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Daniel=20Gl=C3=B6ckner?= <daniel-gl@gmx.net> +Date: Sun, 3 Jan 2016 05:48:59 +0100 +Subject: [PATCH] make configure determine if basetsd.h is needed for ssize_t + +The result is hardcoded in ieee1284.h. +Duplicate logic in detect.h is replaced by including that file. +--- + configure.in | 12 +++++++++++- + include/{ieee1284.h => ieee1284.h.in} | 2 +- + src/detect.h | 13 +------------ + 3 files changed, 13 insertions(+), 14 deletions(-) + rename include/{ieee1284.h => ieee1284.h.in} (99%) + +diff --git a/configure.in b/configure.in +index a22fe97..7cd9561 100644 +--- a/configure.in ++++ b/configure.in +@@ -72,7 +72,17 @@ if test $ac_cv_use_python = yes; then + AM_PATH_PYTHON + fi + ++AC_CHECK_TYPE([ssize_t],,,[#include <sys/types.h>]) ++if test $ac_cv_type_ssize_t != yes; then ++ AC_CHECK_TYPE([SSIZE_T], ++ AC_SUBST([SSIZE_T_IN_BASETSD_H], 1), ++ AC_MSG_ERROR([No definition of ssize_t found.]), ++ [#include <basetsd.h>]) ++else ++ AC_SUBST([SSIZE_T_IN_BASETSD_H], 0) ++fi ++ + dnl Checks for library functions. + +-AC_CONFIG_FILES(Makefile libieee1284.spec) ++AC_CONFIG_FILES([Makefile libieee1284.spec include/ieee1284.h]) + AC_OUTPUT +diff --git a/include/ieee1284.h b/include/ieee1284.h.in +similarity index 99% +rename from include/ieee1284.h +rename to include/ieee1284.h.in +index 03614cb..be02850 100644 +--- a/include/ieee1284.h ++++ b/include/ieee1284.h.in +@@ -27,7 +27,7 @@ + #include <winsock2.h> /* for struct timeval */ + #endif + +-#if (defined __MINGW32__ || defined _MSC_VER) && !defined OWN_SSIZE_T ++#if @SSIZE_T_IN_BASETSD_H@ && !defined OWN_SSIZE_T + #include <basetsd.h> /* for SSIZE_T */ + #define OWN_SSIZE_T + typedef SSIZE_T ssize_t; +diff --git a/src/detect.h b/src/detect.h +index 71e7d60..ab35f82 100644 +--- a/src/detect.h ++++ b/src/detect.h +@@ -24,18 +24,7 @@ + #ifndef _DETECT_H_ + #define _DETECT_H_ + +-#include <stdlib.h> +-#ifndef _MSC_VER +-#include <sys/time.h> +-#else +-#include <winsock2.h> +-#endif +- +-#if (defined __MINGW32__ || defined _MSC_VER) && !defined OWN_SSIZE_T +-#include <basetsd.h> /* for SSIZE_T */ +-#define OWN_SSIZE_T +-typedef SSIZE_T ssize_t; +-#endif ++#include "ieee1284.h" + + struct parport; + struct parport_internal; +-- +2.1.4 + |