ObjFW  Check-in [eba6fdcf3c]

Overview
Comment:Move objfw-config.in and objfw-compile into utils subdir.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: eba6fdcf3c9a523e1d5998f27c32e332d1e67f1ee979e189a12ff8059b577c03
User & Date: js on 2010-04-18 01:22:28
Other Links: manifest | tags
Context
2010-04-18
13:53
Add +[lastComponentOfPath:] to OFFile. check-in: 2727e4282f user: js tags: trunk
01:22
Move objfw-config.in and objfw-compile into utils subdir. check-in: eba6fdcf3c user: js tags: trunk
01:17
Adjust table generator to new ivar naming convention. check-in: 160b3ac744 user: js tags: trunk
Changes

Modified Makefile from [3d21754b5e] to [d02e5befb2].

1
2
3

4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
1
2

3
4
5
6
7
8
9
10
11
12
13
14





















15
16
17
18
19
20
21


-
+











-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-







include extra.mk

SUBDIRS = src ${TESTS}
SUBDIRS = src utils ${TESTS}
DISTCLEAN = aclocal.m4		\
	    autom4te.cache	\
	    buildsys.mk		\
	    config.h		\
	    config.log		\
	    config.status	\
	    extra.mk		\
	    objfw-config

include buildsys.mk

install-extra:
	for i in objfw-config objfw-compile; do \
		${INSTALL_STATUS}; \
		if ${MKDIR_P} ${DESTDIR}${bindir} && ${INSTALL} -m 755 $$i ${DESTDIR}${bindir}/$$i; then \
			${INSTALL_OK}; \
		else \
			${INSTALL_FAILED}; \
		fi \
	done

uninstall-extra:
	for i in objfw-config objfw-compile; do \
		if test -f ${DESTDIR}${bindir}/$$i; then \
			if rm -f ${DESTDIR}${bindir}/$$i; then \
				${DELETE_OK}; \
			else \
				${DELETE_FAILED}; \
			fi \
		fi \
	done

tarball:
	V=$$(fgrep VERSION= objfw-config.in | sed 's/VERSION="\(.*\)"/\1/'); \
	V2=$$(fgrep AC_INIT configure.ac | \
	      sed 's/AC_INIT([^,]*,\([^,]*\),.*/\1/' | sed 's/ //'); \
	V3=$$(fgrep -A1 CFBundleVersion Info.plist | tail -1 | \
	      sed 's/.*>\(.*\)<.*/\1/'); \
	V4=$$(fgrep -A1 CFBundleShortVersion Info.plist | tail -1 | \

Modified configure.ac from [4c0a601c42] to [b88ff9afd8].

401
402
403
404
405
406
407
408

409
410
411
412
413
414
415
416
417
401
402
403
404
405
406
407

408
409
410
411
412
413
414
415
416
417







-
+










dnl We don't call AC_PROG_CPP, but only AC_PROG_OBJCPP and set CPP to OBJCPP
dnl and add OBJCPPFLAGS to CPPFLAGS, thus we need to AC_SUBST these ourself
AC_SUBST(CPP)
AC_SUBST(CPPFLAGS)

AC_SUBST(PACKAGE, ObjFW)
AC_CONFIG_FILES([buildsys.mk extra.mk objfw-config])
AC_CONFIG_FILES([buildsys.mk extra.mk utils/objfw-config])
AC_CONFIG_HEADERS([config.h src/objfw-defs.h])
AC_OUTPUT

if test x"$objc_runtime" = x"GNU"; then
	echo
	echo "Warning: You are using GNU libobjc! Support for GNU libobjc will "
	echo "be dropped in the next version! You should upgrade to ObjFW-RT"
	echo "(the ObjFW runtime) instead!"
fi

Deleted objfw-compile version [f4f00bf2af].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94






























































































-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
#!/bin/sh
if ! which objfw-config 2>&1 >/dev/null; then
	echo "You need to have ObjFW and objfw-config installed!"
	exit 1
fi

CPPFLAGS="$CPPFLAGS $(objfw-config --cppflags)"
OBJC="$(objfw-config --objc)"
OBJCFLAGS="$OBJCFLAGS $(objfw-config --objcflags)"
LIBS="$LIBS $(objfw-config --libs)"
LDFLAGS="$LDFLAGS $(objfw-config --ldflags)"

if test x"$1" = "x" -o x"$2" = "x"; then
	echo "Syntax: objfw-compile outname source1.m source2.m ..."
	exit 1
fi

status_compiling() {
	printf "\033[K\033[0;33mCompiling \033[1;33m$1\033[0;33m...\033[0m\r"
}
status_compiled() {
	printf "\033[K\033[0;32mSuccessfully compiled \033[1;32m$1\033[0;32m."
	printf "\033[0m\n"
}
status_compile_failed() {
	printf "\033[K\033[0;31mFailed to compile \033[1;31m$1\033[0;31m!"
	printf "\033[0m\n"
	exit $2
}
status_linking() {
	printf "\033[K\033[0;33mLinking \033[1;33m$1\033[0;33m...\033[0m\r"
}
status_linked() {
	printf "\033[K\033[0;32mSuccessfully linked \033[1;32m$1\033[0;32m."
	printf "\033[0m\n"
}
status_link_failed() {
	printf "\033[K\033[0;31mFailed to link \033[1;31m$1\033[0;31m!"
	printf "\033[0m\n"
	exit $2
}

out="$1"
objs=""
link="no"
shift

case "$out" in
	*.c | *.C | *.cpp | *.cxx | *.C | *.h | *.m | *.mm | *.M)
		echo "The first paramter must be the output name!" 1>&2
		exit 1
		;;
esac

while test x"$1" != "x"; do
	case "$1" in
		*.m)
			obj="${1%.m}.o"
			objs="$objs $obj"
			build="no"
			deps=$($OBJC -E -M $CPPFLAGS $ENV_CPPFLAGS $1 | \
			       sed 's/.*: //' | sed 's/\\//g')

			if test -f "$obj"; then
				for dep in $deps; do
					test "$dep" -nt $obj && build="yes"
				done
			else
				build="yes"
			fi

			if test x"$build" = x"yes"; then
				link="yes"
				status_compiling $1
				$OBJC $CPPFLAGS $OBJCFLAGS -c -o $obj $1 || \
					status_compile_failed $1 $?
				status_compiled $1
			fi
			;;
		*)
			echo "Only .m files can be compiled!" 1>&2
			exit 1
			;;
	esac

	shift
done

if test ! -f "$out" -o x"$link" = x"yes"; then
	status_linking $out
	$OBJC -o $out $objs $LIBS $ENV_LIBS $LDFLAGS $ENV_LDFLAGS || \
		status_link_failed $out $?
	status_linked $out
fi

Deleted objfw-config.in version [d92d8227a8].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82


















































































-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
#!/bin/sh
prefix="@prefix@"
exec_prefix="@exec_prefix@"
libdir="@libdir@"
CFLAGS=""
CPPFLAGS="-I@includedir@"
CXXFLAGS=""
OBJC="@OBJC@"
OBJCFLAGS="@GNU_RUNTIME@ -fexceptions -fobjc-exceptions"
OBJCFLAGS="$OBJCFLAGS -fconstant-string-class=OFConstString"
OBJCFLAGS="$OBJCFLAGS @NO_CONST_CFSTRINGS@ @NO_WARN_UNUSED@ @ATOMIC_OBJCFLAGS@"
LDFLAGS=""
LDFLAGS_RPATH="@LDFLAGS_RPATH@"
LIBS="-L${libdir} -lobjfw @LIBS@"
VERSION="0.3-dev"

show_help() {
	cat <<__EOF__
objfw-config: Available arguments are:

	--all		Outputs all flags + libs
	--cflags	Outputs the required CFLAGS
	--cppflags	Outputs the required CPPFLAGS
	--cxxflags	Outputs the required CXXFLAGS
	--objc		Outputs the OBJC used to compile ObjFW
	--objcflags	Outputs the required OBJCFLAGS
	--ldflags	Outputs the required LDFLAGS
	--rpath		Outputs LDFLAGS for using rpath
	--libs		Outputs the required LIBS
	--version	Outputs the installed version
__EOF__
	exit 0
}

test -z "$1" && show_help

while test ! -z "$1"; do
	case "$1" in
		--all)
			echo "$CFLAGS"
			echo "$CPPFLAGS"
			echo "$CXXFLAGS"
			echo "$OBJCFLAGS"
			echo "$LDFLAGS"
			echo "$RPATH_LDFLAGS"
			echo "$LIBS"
			;;
		--cflags)
			echo "$CFLAGS"
			;;
		--cppflags)
			echo "$CPPFLAGS"
			;;
		--cxxflags)
			echo "$CXXFLAGS"
			;;
		--objc)
			echo "$OBJC"
			;;
		--objcflags)
			echo "$OBJCFLAGS"
			;;
		--libs)
			echo "$LIBS"
			;;
		--ldflags)
			echo "$LDFLAGS"
			;;
		--rpath)
			echo "$LDFLAGS_RPATH"
			;;
		--version)
			echo "$VERSION"
			;;
		*)
			echo "Invalid option: $1" 1>&2
			exit 1
			;;
	esac

	shift
done

Added utils/Makefile version [6b1e7b4aff].























1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
include ../buildsys.mk

install-extra:
	for i in objfw-config objfw-compile; do \
		${INSTALL_STATUS}; \
		if ${MKDIR_P} ${DESTDIR}${bindir} && ${INSTALL} -m 755 $$i ${DESTDIR}${bindir}/$$i; then \
			${INSTALL_OK}; \
		else \
			${INSTALL_FAILED}; \
		fi \
	done

uninstall-extra:
	for i in objfw-config objfw-compile; do \
		if test -f ${DESTDIR}${bindir}/$$i; then \
			if rm -f ${DESTDIR}${bindir}/$$i; then \
				${DELETE_OK}; \
			else \
				${DELETE_FAILED}; \
			fi \
		fi \
	done

Added utils/objfw-compile version [f4f00bf2af].































































































1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#!/bin/sh
if ! which objfw-config 2>&1 >/dev/null; then
	echo "You need to have ObjFW and objfw-config installed!"
	exit 1
fi

CPPFLAGS="$CPPFLAGS $(objfw-config --cppflags)"
OBJC="$(objfw-config --objc)"
OBJCFLAGS="$OBJCFLAGS $(objfw-config --objcflags)"
LIBS="$LIBS $(objfw-config --libs)"
LDFLAGS="$LDFLAGS $(objfw-config --ldflags)"

if test x"$1" = "x" -o x"$2" = "x"; then
	echo "Syntax: objfw-compile outname source1.m source2.m ..."
	exit 1
fi

status_compiling() {
	printf "\033[K\033[0;33mCompiling \033[1;33m$1\033[0;33m...\033[0m\r"
}
status_compiled() {
	printf "\033[K\033[0;32mSuccessfully compiled \033[1;32m$1\033[0;32m."
	printf "\033[0m\n"
}
status_compile_failed() {
	printf "\033[K\033[0;31mFailed to compile \033[1;31m$1\033[0;31m!"
	printf "\033[0m\n"
	exit $2
}
status_linking() {
	printf "\033[K\033[0;33mLinking \033[1;33m$1\033[0;33m...\033[0m\r"
}
status_linked() {
	printf "\033[K\033[0;32mSuccessfully linked \033[1;32m$1\033[0;32m."
	printf "\033[0m\n"
}
status_link_failed() {
	printf "\033[K\033[0;31mFailed to link \033[1;31m$1\033[0;31m!"
	printf "\033[0m\n"
	exit $2
}

out="$1"
objs=""
link="no"
shift

case "$out" in
	*.c | *.C | *.cpp | *.cxx | *.C | *.h | *.m | *.mm | *.M)
		echo "The first paramter must be the output name!" 1>&2
		exit 1
		;;
esac

while test x"$1" != "x"; do
	case "$1" in
		*.m)
			obj="${1%.m}.o"
			objs="$objs $obj"
			build="no"
			deps=$($OBJC -E -M $CPPFLAGS $ENV_CPPFLAGS $1 | \
			       sed 's/.*: //' | sed 's/\\//g')

			if test -f "$obj"; then
				for dep in $deps; do
					test "$dep" -nt $obj && build="yes"
				done
			else
				build="yes"
			fi

			if test x"$build" = x"yes"; then
				link="yes"
				status_compiling $1
				$OBJC $CPPFLAGS $OBJCFLAGS -c -o $obj $1 || \
					status_compile_failed $1 $?
				status_compiled $1
			fi
			;;
		*)
			echo "Only .m files can be compiled!" 1>&2
			exit 1
			;;
	esac

	shift
done

if test ! -f "$out" -o x"$link" = x"yes"; then
	status_linking $out
	$OBJC -o $out $objs $LIBS $ENV_LIBS $LDFLAGS $ENV_LDFLAGS || \
		status_link_failed $out $?
	status_linked $out
fi

Added utils/objfw-config.in version [d92d8227a8].



















































































1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#!/bin/sh
prefix="@prefix@"
exec_prefix="@exec_prefix@"
libdir="@libdir@"
CFLAGS=""
CPPFLAGS="-I@includedir@"
CXXFLAGS=""
OBJC="@OBJC@"
OBJCFLAGS="@GNU_RUNTIME@ -fexceptions -fobjc-exceptions"
OBJCFLAGS="$OBJCFLAGS -fconstant-string-class=OFConstString"
OBJCFLAGS="$OBJCFLAGS @NO_CONST_CFSTRINGS@ @NO_WARN_UNUSED@ @ATOMIC_OBJCFLAGS@"
LDFLAGS=""
LDFLAGS_RPATH="@LDFLAGS_RPATH@"
LIBS="-L${libdir} -lobjfw @LIBS@"
VERSION="0.3-dev"

show_help() {
	cat <<__EOF__
objfw-config: Available arguments are:

	--all		Outputs all flags + libs
	--cflags	Outputs the required CFLAGS
	--cppflags	Outputs the required CPPFLAGS
	--cxxflags	Outputs the required CXXFLAGS
	--objc		Outputs the OBJC used to compile ObjFW
	--objcflags	Outputs the required OBJCFLAGS
	--ldflags	Outputs the required LDFLAGS
	--rpath		Outputs LDFLAGS for using rpath
	--libs		Outputs the required LIBS
	--version	Outputs the installed version
__EOF__
	exit 0
}

test -z "$1" && show_help

while test ! -z "$1"; do
	case "$1" in
		--all)
			echo "$CFLAGS"
			echo "$CPPFLAGS"
			echo "$CXXFLAGS"
			echo "$OBJCFLAGS"
			echo "$LDFLAGS"
			echo "$RPATH_LDFLAGS"
			echo "$LIBS"
			;;
		--cflags)
			echo "$CFLAGS"
			;;
		--cppflags)
			echo "$CPPFLAGS"
			;;
		--cxxflags)
			echo "$CXXFLAGS"
			;;
		--objc)
			echo "$OBJC"
			;;
		--objcflags)
			echo "$OBJCFLAGS"
			;;
		--libs)
			echo "$LIBS"
			;;
		--ldflags)
			echo "$LDFLAGS"
			;;
		--rpath)
			echo "$LDFLAGS_RPATH"
			;;
		--version)
			echo "$VERSION"
			;;
		*)
			echo "Invalid option: $1" 1>&2
			exit 1
			;;
	esac

	shift
done