Skip to content

Commit

Permalink
Updates to make SSL bundle build standalone.
Browse files Browse the repository at this point in the history
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@13026 72102866-910b-0410-8b05-ffd578937521
  • Loading branch information
CaS authored and CaS committed Mar 6, 2002
1 parent 1c66398 commit a6777a8
Show file tree
Hide file tree
Showing 17 changed files with 2,599 additions and 683 deletions.
22 changes: 22 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,25 @@
2002-03-06 Richard Frith-Macdonald <[email protected]>

* GNUmakefile: build SSL aggregate project
* config.mak.in: Remove SSL info
* configure.in: Remove SSL configuration
* configure: Regenerate
* SSL/GNUmakefile: Build SSL bundle
* SSL/GSUnixSSLHandle.m: SSL bundle source from Source directory
* SSL/Makefile.postamble: Build SSL bundle
* SSL/Makefile.preamble: Build SSL bundle
* SSL/config.h.in: Trivial config for SSL bundle
* SSL/config.mak.in: SSL info for building bundle.
* SSL/configure.in: Configuration for SSKL bundle.
* Source/GNUmakefile: Don't build SSL bundle.
* Source/GSUnixSSLHandle.m: Moved to SSL directory.
* Source/Makefile.postamble: Don't build SSL bundle.
* Source/Makefile.preamble: Don't build SSL bundle.
Alterations to make the SSL bundle capable of standalone
building - for use on systems where the base package has
only been installed in binary form.
Initial attempt!

2002-03-06 Richard Frith-Macdonald <[email protected]>

* Source/GSAttributedString.m: Applied fix for left-over attributes
Expand Down
2 changes: 1 addition & 1 deletion GNUmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ PACKAGE_NAME = gnustep-base
#
# The list of subproject directories
#
SUBPROJECTS = Source Tools NSCharacterSets NSTimeZones Resources
SUBPROJECTS = Source SSL Tools NSCharacterSets NSTimeZones Resources

-include Makefile.preamble

Expand Down
3 changes: 0 additions & 3 deletions Headers/gnustep/base/config.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -226,9 +226,6 @@
/* Define if you have the <objc/objc.h> header file. */
#undef HAVE_OBJC_OBJC_H

/* Define if you have the <openssl/ssl.h> header file. */
#undef HAVE_OPENSSL_SSL_H

/* Define if you have the <poll.h> header file. */
#undef HAVE_POLL_H

Expand Down
92 changes: 92 additions & 0 deletions SSL/GNUmakefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
#
# src makefile for the GNUstep Base Library
#
# Copyright (C) 1997 Free Software Foundation, Inc.
#
# Written by: Scott Christley <[email protected]>
#
# This file is part of the GNUstep Base Library.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this library; if not, write to the Free
# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
#

# Install into the system root by default
GNUSTEP_INSTALLATION_DIR = $(GNUSTEP_SYSTEM_ROOT)

GNUSTEP_MAKEFILES = $(GNUSTEP_SYSTEM_ROOT)/Makefiles

-include config.mak
include $(GNUSTEP_MAKEFILES)/common.make

srcdir = .
PACKAGE_NAME = gnustep-base

ifeq ($(HAVE_OPENSSL), yes)

# The bundles to be compiled
BUNDLE_NAME=SSL

# Additional search directories for linking
SSL_LIB_DIRS += -L$(GNUSTEP_OBJ_DIR)

# The bundle Objective-C source files to be compiled
SSL_OBJC_FILES = GSUnixSSLHandle.m

# The principal class in the bundle
SSL_PRINCIPAL_CLASS = GSUnixSSLHandle

SSL_BUNDLE_LIBS = -lgnustep-base -lobjc $(SSLLIBS)

endif

# GNUSTEP_INSTALL_PREFIX must be defined here and not in config.h because
# the installing person may set it on the `make' command line.

ifeq ($(GNUSTEP_TARGET_OS), mingw32)

GNUSTEP_TARGET_INSTALL_PREFIX := \
$(shell echo $(GNUSTEP_SYSTEM_ROOT) | sed 's|^[a-zA-Z]:/|/|')
GNUSTEP_TARGET_LOCAL_ROOT := \
$(shell echo $(GNUSTEP_LOCAL_ROOT) | sed 's|^[a-zA-Z]:/|/|')
GNUSTEP_TARGET_NETWORK_ROOT := \
$(shell echo $(GNUSTEP_NETWORK_ROOT) | sed 's|^[a-zA-Z]:/|/|')
DEFS= -DGNUSTEP_INSTALL_PREFIX=$(GNUSTEP_TARGET_INSTALL_PREFIX) \
-DGNUSTEP_LOCAL_ROOT=$(GNUSTEP_TARGET_LOCAL_ROOT) \
-DGNUSTEP_NETWORK_ROOT=$(GNUSTEP_TARGET_NETWORK_ROOT) \
-DGNUSTEP_TARGET_DIR=\"$(GNUSTEP_TARGET_DIR)\" \
-DGNUSTEP_TARGET_CPU=\"$(GNUSTEP_TARGET_CPU)\" \
-DGNUSTEP_TARGET_OS=\"$(GNUSTEP_TARGET_OS)\" \
-DLIBRARY_COMBO=\"$(LIBRARY_COMBO)\"

else

GNUSTEP_INSTALL_PREFIX=$(GNUSTEP_SYSTEM_ROOT)
DEFS= -DGNUSTEP_INSTALL_PREFIX=$(GNUSTEP_INSTALL_PREFIX) \
-DGNUSTEP_LOCAL_ROOT=$(GNUSTEP_LOCAL_ROOT) \
-DGNUSTEP_NETWORK_ROOT=$(GNUSTEP_NETWORK_ROOT) \
-DGNUSTEP_TARGET_DIR=\"$(GNUSTEP_TARGET_DIR)\" \
-DGNUSTEP_TARGET_CPU=\"$(GNUSTEP_TARGET_CPU)\" \
-DGNUSTEP_TARGET_OS=\"$(GNUSTEP_TARGET_OS)\" \
-DLIBRARY_COMBO=\"$(LIBRARY_COMBO)\"

endif

-include Makefile.preamble

-include GNUmakefile.local

include $(GNUSTEP_MAKEFILES)/bundle.make

-include Makefile.postamble
36 changes: 23 additions & 13 deletions Source/GSUnixSSLHandle.m → SSL/GSUnixSSLHandle.m
Original file line number Diff line number Diff line change
Expand Up @@ -24,25 +24,35 @@

#include <config.h>

#if defined(__WIN32__) || defined(_WIN32) || defined(__MS_WIN32__)
#ifndef __WIN32__
#define __WIN32__
#endif
#endif

#ifdef __MINGW32__
#ifndef __MINGW__
#define __MINGW__
#endif
#ifndef __WIN32__
#define __WIN32__
#endif
#endif

#if defined(__WIN32__)
#include <windows.h>
#define GNUSTEP_BASE_SOCKET_MESSAGE (WM_USER + 1)
#endif

/* Because openssl uses `id' as variable name sometime,
while it is an Objective-C reserved keyword. */
#define id id_x_
#include <openssl/ssl.h>
#undef id

#include <base/preface.h>
#include <Foundation/NSObject.h>
#include <Foundation/NSData.h>
#include <Foundation/NSArray.h>
#include <Foundation/NSString.h>
#include <Foundation/NSFileHandle.h>
#include <Foundation/UnixFileHandle.h>
#include <Foundation/NSException.h>
#include <Foundation/NSRunLoop.h>
#include <Foundation/NSNotification.h>
#include <Foundation/NSNotificationQueue.h>
#include <Foundation/NSHost.h>
#include <Foundation/NSByteOrder.h>
#include <Foundation/Foundation.h>

#include <gnustep/base/UnixFileHandle.h>

#if defined(__MINGW__)
#include <winsock2.h>
Expand Down
87 changes: 87 additions & 0 deletions SSL/Makefile.postamble
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
#
# Makefile.postamble
#
# Copyright (C) 1997 Free Software Foundation, Inc.
#
# Author: Scott Christley <[email protected]>
#
# This file is part of the GNUstep Base Library.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
#
# If you are interested in a warranty or support for this source code,
# contact Scott Christley at [email protected]
#
# You should have received a copy of the GNU Library General Public
# License along with this library; see the file COPYING.LIB.
# If not, write to the Free Software Foundation,
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

#
# Makefile.postamble
#
# Project specific makefile rules
#
# Uncomment the targets you want.
# The double colons (::) are important, do not make them single colons
# otherwise the normal makefile rules will not be performed.
#

# Things to do before compiling
# before-all::

# Things to do after compiling
# after-all::

# Things to do before installing
# before-install::

# Things to do after installing
#
# Unfortunately the way the header files are placed in relationship
# to the source we must install the GNU header manually
# after-install::

# Things to do before uninstalling
# before-uninstall::

# Things to do after uninstalling
# after-uninstall::

# Things to do before cleaning
# before-clean::

# Things to do after cleaning
# after-clean::

# Things to do before distcleaning
# before-distclean::

# Things to do after distcleaning
after-distclean::
rm -rf SSL.bundle

# Things to do before checking
# before-check::

# Things to do after checking
# after-check::

config.mak: config.mak.in
./configure

TAGS: $(DIST_FILES)
etags $(DIST_FILES)

regenerate: $(DIST_FILES)
mv AUTHORS ..

FORCE:
58 changes: 58 additions & 0 deletions SSL/Makefile.preamble
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
#
# Makefile.preamble
#
# Copyright (C) 1997 Free Software Foundation, Inc.
#
# Author: Scott Christley <[email protected]>
#
# This file is part of the GNUstep Base Library.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
#
# If you are interested in a warranty or support for this source code,
# contact Scott Christley at [email protected]
#
# You should have received a copy of the GNU Library General Public
# License along with this library; see the file COPYING.LIB.
# If not, write to the Free Software Foundation,
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

#
# Makefile.preamble
#
# Project specific makefile variables
#
# Do not put any Makefile rules in this file, instead they should
# be put into Makefile.postamble.
#

#
# Flags dealing with compiling and linking
#

# Additional flags to pass to the preprocessor
ADDITIONAL_CPPFLAGS = $(DEFS) $(CONFIG_SYSTEM_DEFS) -Wall

# Additional flags to pass to the Objective-C compiler
ADDITIONAL_OBJCFLAGS = $(SSLFLAGS)

# Additional flags to pass to the C compiler
ADDITIONAL_CFLAGS =

# Additional include directories the compiler should search
ADDITIONAL_INCLUDE_DIRS = -I../Headers/gnustep -I../Headers

# Additional LDFLAGS to pass to the linker
ADDITIONAL_LDFLAGS =

# Additional library directories the linker should search
ADDITIONAL_LIB_DIRS = -L../Source/$(GNUSTEP_OBJ_DIR)

55 changes: 55 additions & 0 deletions SSL/config.h.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
/* config.h.in. Generated automatically from configure.in by autoheader 2.13. */

/* Define if you have the <libc.h> header file. */
#undef HAVE_LIBC_H

/* Define if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H

/* Define if you have the <malloc.h> header file. */
#undef HAVE_MALLOC_H

/* Define if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H

/* Define if you have the <openssl/ssl.h> header file. */
#undef HAVE_OPENSSL_SSL_H

/* Define if you have the <signal.h> header file. */
#undef HAVE_SIGNAL_H

/* Define if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H

/* Define if you have the <string.h> header file. */
#undef HAVE_STRING_H

/* Define if you have the <sys/fcntl.h> header file. */
#undef HAVE_SYS_FCNTL_H

/* Define if you have the <sys/file.h> header file. */
#undef HAVE_SYS_FILE_H

/* Define if you have the <sys/inttypes.h> header file. */
#undef HAVE_SYS_INTTYPES_H

/* Define if you have the <sys/ioctl.h> header file. */
#undef HAVE_SYS_IOCTL_H

/* Define if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H

/* Define if you have the <sys/signal.h> header file. */
#undef HAVE_SYS_SIGNAL_H

/* Define if you have the <sys/stropts.h> header file. */
#undef HAVE_SYS_STROPTS_H

/* Define if you have the <sys/wait.h> header file. */
#undef HAVE_SYS_WAIT_H

/* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H

/* Define if you have the <utime.h> header file. */
#undef HAVE_UTIME_H
8 changes: 8 additions & 0 deletions SSL/config.mak.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#
# Extra make variables for SSL bundle
#

HAVE_OPENSSL=@HAVE_OPENSSL@
SSLLIBS=@SSLLIBS@
SSLFLAGS=@SSLFLAGS@

Loading

0 comments on commit a6777a8

Please sign in to comment.