FreeBSD preliminary work.

-) You can't assume bash is installed. Scripts needs to be cleaned out of bashisms.
-) You can't assume python is in /usr/bin. Use env instead.
-) AF_INET is in sys/socket.h
-) Added port_platform's basic structure for FreeBSD, based off Darwin.
-) FreeBSD doesn't have and doesn't need libdl for OpenSSL.
pull/1047/head
Nicolas Noble 10 years ago committed by Nicolas "Pixel" Noble
parent 764971354c
commit f358573091
  1. 12
      Makefile
  2. 24
      include/grpc/support/port_platform.h
  3. 12
      templates/Makefile.template
  4. 2
      test/core/end2end/gen_build_json.py
  5. 1
      test/core/iomgr/tcp_server_posix_test.c
  6. 2
      tools/buildgen/build-cleaner.py
  7. 8
      tools/buildgen/generate_projects.sh
  8. 2
      tools/buildgen/mako_renderer.py
  9. 2
      tools/run_tests/run_tests.py

@ -272,7 +272,10 @@ else
IS_GIT_FOLDER = true
endif
OPENSSL_ALPN_CHECK_CMD = $(CC) $(CFLAGS) $(CPPFLAGS) -o $(TMPOUT) test/build/openssl-alpn.c -lssl -lcrypto -ldl $(LDFLAGS)
OPENSSL_ALPN_CHECK_CMD = $(CC) $(CFLAGS) $(CPPFLAGS) -o $(TMPOUT) test/build/openssl-alpn.c -lssl -lcrypto $(LDFLAGS)
ifeq ($(SYSTEM),Linux)
OPENSSL_ALPN_CHECK_CMD += -ldl
endif
ZLIB_CHECK_CMD = $(CC) $(CFLAGS) $(CPPFLAGS) -o $(TMPOUT) test/build/zlib.c -lz $(LDFLAGS)
PERFTOOLS_CHECK_CMD = $(CC) $(CFLAGS) $(CPPFLAGS) -o $(TMPOUT) test/build/perftools.c -lprofiler $(LDFLAGS)
PROTOBUF_CHECK_CMD = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $(TMPOUT) test/build/protobuf.cc -lprotobuf $(LDFLAGS)
@ -344,12 +347,17 @@ OPENSSL_MERGE_LIBS += $(LIBDIR)/$(CONFIG)/openssl/libssl.a $(LIBDIR)/$(CONFIG)/o
# need to prefix these to ensure overriding system libraries
CPPFLAGS := -Ithird_party/openssl/include $(CPPFLAGS)
LDFLAGS := -L$(LIBDIR)/$(CONFIG)/openssl $(LDFLAGS)
ifeq ($(SYSTEM),Linux)
LIBS_SECURE = dl
endif
else
NO_SECURE = true
endif
else
LIBS_SECURE = ssl crypto dl
LIBS_SECURE = ssl crypto
ifeq ($(SYSTEM),Linux)
LIBS_SECURE += dl
endif
endif
LDLIBS_SECURE += $(addprefix -l, $(LIBS_SECURE))

@ -137,6 +137,30 @@
#else /* _LP64 */
#define GPR_ARCH_32 1
#endif /* _LP64 */
#elif defined(__FreeBSD__)
#ifndef _BSD_SOURCE
#define _BSD_SOURCE
#endif
#define GPR_CPU_POSIX 1
#define GPR_GCC_ATOMIC 1
#define GPR_POSIX_LOG 1
#define GPR_POSIX_MULTIPOLL_WITH_POLL 1
#define GPR_POSIX_WAKEUP_FD 1
#define GPR_POSIX_NO_SPECIAL_WAKEUP_FD 1
#define GPR_POSIX_SOCKET 1
#define GPR_POSIX_SOCKETADDR 1
#define GPR_POSIX_SOCKETUTILS 1
#define GPR_POSIX_ENV 1
#define GPR_POSIX_FILE 1
#define GPR_POSIX_STRING 1
#define GPR_POSIX_SYNC 1
#define GPR_POSIX_TIME 1
#define GPR_GETPID_IN_UNISTD_H 1
#ifdef _LP64
#define GPR_ARCH_64 1
#else /* _LP64 */
#define GPR_ARCH_32 1
#endif /* _LP64 */
#else
#error Could not auto-detect platform
#endif

@ -289,7 +289,10 @@ else
IS_GIT_FOLDER = true
endif
OPENSSL_ALPN_CHECK_CMD = $(CC) $(CFLAGS) $(CPPFLAGS) -o $(TMPOUT) test/build/openssl-alpn.c -lssl -lcrypto -ldl $(LDFLAGS)
OPENSSL_ALPN_CHECK_CMD = $(CC) $(CFLAGS) $(CPPFLAGS) -o $(TMPOUT) test/build/openssl-alpn.c -lssl -lcrypto $(LDFLAGS)
ifeq ($(SYSTEM),Linux)
OPENSSL_ALPN_CHECK_CMD += -ldl
endif
ZLIB_CHECK_CMD = $(CC) $(CFLAGS) $(CPPFLAGS) -o $(TMPOUT) test/build/zlib.c -lz $(LDFLAGS)
PERFTOOLS_CHECK_CMD = $(CC) $(CFLAGS) $(CPPFLAGS) -o $(TMPOUT) test/build/perftools.c -lprofiler $(LDFLAGS)
PROTOBUF_CHECK_CMD = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $(TMPOUT) test/build/protobuf.cc -lprotobuf $(LDFLAGS)
@ -361,12 +364,17 @@ OPENSSL_MERGE_LIBS += $(LIBDIR)/$(CONFIG)/openssl/libssl.a $(LIBDIR)/$(CONFIG)/o
# need to prefix these to ensure overriding system libraries
CPPFLAGS := -Ithird_party/openssl/include $(CPPFLAGS)
LDFLAGS := -L$(LIBDIR)/$(CONFIG)/openssl $(LDFLAGS)
ifeq ($(SYSTEM),Linux)
LIBS_SECURE = dl
endif
else
NO_SECURE = true
endif
else
LIBS_SECURE = ssl crypto dl
LIBS_SECURE = ssl crypto
ifeq ($(SYSTEM),Linux)
LIBS_SECURE += dl
endif
endif
LDLIBS_SECURE += $(addprefix -l, $(LIBS_SECURE))

@ -1,4 +1,4 @@
#!/usr/bin/python2.7
#!/usr/bin/env python
# Copyright 2015, Google Inc.
# All rights reserved.
#

@ -38,6 +38,7 @@
#include <grpc/support/time.h>
#include "test/core/util/test_config.h"
#include <sys/socket.h>
#include <netinet/in.h>
#include <string.h>
#include <unistd.h>

@ -1,4 +1,4 @@
#!/usr/bin/python
#!/usr/bin/env python
# Copyright 2015, Google Inc.
# All rights reserved.
#

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/sh
# Copyright 2015, Google Inc.
# All rights reserved.
#
@ -31,7 +31,7 @@
set -e
if [ "x$TEST" == "x" ] ; then
if [ "x$TEST" = "x" ] ; then
TEST=false
fi
@ -61,12 +61,12 @@ for dir in . ; do
out=${out%.*} # strip template extension
json_files="build.json $end2end_test_build"
data=`for i in $json_files; do echo -n "-d $i "; done`
if [ $TEST == true ] ; then
if [ "x$TEST" = "xtrue" ] ; then
actual_out=$out
out=`mktemp /tmp/gentXXXXXX`
fi
$mako_renderer $plugins $data -o $out $file
if [ $TEST == true ] ; then
if [ "x$TEST" = "xtrue" ] ; then
diff -q $out $actual_out
rm $out
fi

@ -1,4 +1,4 @@
#!/usr/bin/python2.7
#!/usr/bin/env python
# Copyright 2015, Google Inc.
# All rights reserved.
#

@ -1,4 +1,4 @@
#!/usr/bin/python2.7
#!/usr/bin/env python
# Copyright 2015, Google Inc.
# All rights reserved.
#

Loading…
Cancel
Save