ObjFW  Check-in [5903c87d36]

Overview
Comment:Ensure in the headers that we got the required definitions.

This prevents compiling stuff using libobjfw without objfw-config,
which could generate strange bugs.

Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 5903c87d36470b8c9af2fbdb76485e3cf0ddd3c8ce4a039ce549d297a07c3154
User & Date: js on 2009-08-17 21:13:21
Other Links: manifest | tags
Context
2009-08-26
14:13
There is no need to return a BOOL in OFXMLParserDelegate.
If you want to stop parsing, you just throw an exception.
check-in: 87a3e4fb0a user: js tags: trunk
2009-08-17
21:13
Ensure in the headers that we got the required definitions. check-in: 5903c87d36 user: js tags: trunk
2009-08-16
13:30
Rather use -[copy] in OFXMLElement as the string could be mutable. check-in: e6570420f3 user: js tags: trunk
Changes

Modified configure.ac from [fab120db84] to [b1bcaf4cd6].

9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
AC_PROG_INSTALL
AC_PROG_EGREP

CFLAGS="$CFLAGS -Wall"
AX_CHECK_COMPILER_FLAGS(-pipe, [CFLAGS="$CFLAGS -pipe"])
AX_CHECK_COMPILER_FLAGS(-fno-common, [CFLAGS="$CFLAGS -fno-common"])

AC_DEFINE(OF_CONFIG_H, 1, [Define so that we know we got our config.h])

BUILDSYS_LIB
AC_DEFINE_UNQUOTED(PLUGIN_SUFFIX, "$PLUGIN_SUFFIX", [Suffix for plugins])
if test x"$PLUGIN_SUFFIX" != "x"; then
	AC_SUBST(OFPLUGIN_M, "OFPlugin.m")
	AC_SUBST(OFPLUGIN, "OFPlugin")
	AC_SUBST(OFPLUGIN_DEF, "-DOF_PLUGINS")







|







9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
AC_PROG_INSTALL
AC_PROG_EGREP

CFLAGS="$CFLAGS -Wall"
AX_CHECK_COMPILER_FLAGS(-pipe, [CFLAGS="$CFLAGS -pipe"])
AX_CHECK_COMPILER_FLAGS(-fno-common, [CFLAGS="$CFLAGS -fno-common"])

AC_DEFINE(OF_CONFIGURED, 1, [Define so that we know we got our config.h])

BUILDSYS_LIB
AC_DEFINE_UNQUOTED(PLUGIN_SUFFIX, "$PLUGIN_SUFFIX", [Suffix for plugins])
if test x"$PLUGIN_SUFFIX" != "x"; then
	AC_SUBST(OFPLUGIN_M, "OFPlugin.m")
	AC_SUBST(OFPLUGIN, "OFPlugin")
	AC_SUBST(OFPLUGIN_DEF, "-DOF_PLUGINS")

Modified objfw-config.in from [bf43dd7ccf] to [99ac0f96fa].

1
2
3
4
5
6

7
8
9
10
11
12
13
#!/bin/sh
prefix="@prefix@"
exec_prefix="@exec_prefix@"
libdir="@libdir@"
CFLAGS=""
CPPFLAGS="-I@includedir@ @ENDIANESS_DEF@ @ASPRINTF_DEF@ @OFPLUGIN_DEF@"

CXXFLAGS=""
OBJCFLAGS="-fobjc-exceptions -fconstant-string-class=OFConstString"
OBJCFLAGS="$OBJCFLAGS @NO_CONST_CFSTRINGS@"
LDFLAGS="@RPATH_LDFLAGS@"
LIBS="-L${libdir} -lobjfw @LIBS@"
VERSION="0.1"






|
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/sh
prefix="@prefix@"
exec_prefix="@exec_prefix@"
libdir="@libdir@"
CFLAGS=""
CPPFLAGS="-I@includedir@ -DOF_CONFIGURED @ENDIANESS_DEF@ @ASPRINTF_DEF@"
CPPFLAGS="$CPPFLAGS @OFPLUGIN_DEF@"
CXXFLAGS=""
OBJCFLAGS="-fobjc-exceptions -fconstant-string-class=OFConstString"
OBJCFLAGS="$OBJCFLAGS @NO_CONST_CFSTRINGS@"
LDFLAGS="@RPATH_LDFLAGS@"
LIBS="-L${libdir} -lobjfw @LIBS@"
VERSION="0.1"

Modified src/OFMacros.h from [9f9852ff63] to [776fab6bc8].

1
2
3
4
5
6
7
8
9
10





11
12
13
14
15
16
17
/*
 * Copyright (c) 2008 - 2009
 *   Jonathan Schleifer <js@webkeks.org>
 *
 * All rights reserved.
 *
 * This file is part of libobjfw. It may be distributed under the terms of the
 * Q Public License 1.0, which can be found in the file LICENSE included in
 * the packaging of this file.
 */






#ifdef __GNUC__
#define OF_INLINE inline __attribute__((always_inline))
#define OF_LIKELY(cond) __builtin_expect(!!(cond), 1)
#define OF_UNLIKELY(cond) __builtin_expect(!!(cond), 0)
#else
#define OF_INLINE inline










>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/*
 * Copyright (c) 2008 - 2009
 *   Jonathan Schleifer <js@webkeks.org>
 *
 * All rights reserved.
 *
 * This file is part of libobjfw. It may be distributed under the terms of the
 * Q Public License 1.0, which can be found in the file LICENSE included in
 * the packaging of this file.
 */

#ifndef OF_CONFIGURED
#error You are missing the libobjfw definitions!
#error Please use objfw-config!
#endif

#ifdef __GNUC__
#define OF_INLINE inline __attribute__((always_inline))
#define OF_LIKELY(cond) __builtin_expect(!!(cond), 1)
#define OF_UNLIKELY(cond) __builtin_expect(!!(cond), 0)
#else
#define OF_INLINE inline

Modified src/OFObject.h from [494102f6f4] to [6180a99265].

1
2
3
4
5
6
7
8
9
10





11
12
13
14
15
16
17
/*
 * Copyright (c) 2008 - 2009
 *   Jonathan Schleifer <js@webkeks.org>
 *
 * All rights reserved.
 *
 * This file is part of libobjfw. It may be distributed under the terms of the
 * Q Public License 1.0, which can be found in the file LICENSE included in
 * the packaging of this file.
 */






#include <stddef.h>
#include <stdint.h>

#import <objc/objc.h>
#ifndef __objc_INCLUDE_GNU
#import <objc/message.h>










>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/*
 * Copyright (c) 2008 - 2009
 *   Jonathan Schleifer <js@webkeks.org>
 *
 * All rights reserved.
 *
 * This file is part of libobjfw. It may be distributed under the terms of the
 * Q Public License 1.0, which can be found in the file LICENSE included in
 * the packaging of this file.
 */

#ifndef OF_CONFIGURED
#error You are missing the libobjfw definitions!
#error Please use objfw-config!
#endif

#include <stddef.h>
#include <stdint.h>

#import <objc/objc.h>
#ifndef __objc_INCLUDE_GNU
#import <objc/message.h>

Modified src/asprintf.h from [b13fc53a42] to [ba698f9700].

1
2
3
4
5
6
7
8
9
10





11
12
13
14
15
16
17
/*
 * Copyright (c) 2008 - 2009
 *   Jonathan Schleifer <js@webkeks.org>
 *
 * All rights reserved.
 *
 * This file is part of libobjfw. It may be distributed under the terms of the
 * Q Public License 1.0, which can be found in the file LICENSE included in
 * the packaging of this file.
 */






#ifndef OF_HAVE_ASPRINTF
#include <stdarg.h>

extern int asprintf(char**, const char*, ...);
extern int vasprintf(char**, const char*, va_list);
#endif










>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/*
 * Copyright (c) 2008 - 2009
 *   Jonathan Schleifer <js@webkeks.org>
 *
 * All rights reserved.
 *
 * This file is part of libobjfw. It may be distributed under the terms of the
 * Q Public License 1.0, which can be found in the file LICENSE included in
 * the packaging of this file.
 */

#ifndef OF_CONFIGURED
#error You are missing the libobjfw definitions!
#error Please use objfw-config!
#endif

#ifndef OF_HAVE_ASPRINTF
#include <stdarg.h>

extern int asprintf(char**, const char*, ...);
extern int vasprintf(char**, const char*, va_list);
#endif

Modified tests/objc_sync/objc_sync.m from [d8413d91c1] to [3fffa6c9f2].














1
2
3
4
5
6
7













#include <stdio.h>

#import "OFString.h"
#import "OFThread.h"

OFObject *lock;

>
>
>
>
>
>
>
>
>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/*
 * Copyright (c) 2008 - 2009
 *   Jonathan Schleifer <js@webkeks.org>
 *
 * All rights reserved.
 *
 * This file is part of libobjfw. It may be distributed under the terms of the
 * Q Public License 1.0, which can be found in the file LICENSE included in
 * the packaging of this file.
 */

#include "config.h"

#include <stdio.h>

#import "OFString.h"
#import "OFThread.h"

OFObject *lock;