File: qb.moc.sh

package info (click to toggle)
retroarch 1.20.0%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 75,736 kB
  • sloc: ansic: 1,207,646; cpp: 104,166; objc: 8,567; asm: 6,624; python: 3,776; makefile: 2,838; sh: 2,786; xml: 1,408; perl: 393; javascript: 10
file content (68 lines) | stat: -rw-r--r-- 1,513 bytes parent folder | download
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
. qb/config.moc.sh

TEMP_MOC=.moc.h
TEMP_CPP=.moc.cpp

MOC="${MOC:-}"

# Checking for working moc
cat << EOF > "$TEMP_MOC"
#include <QTimeZone>
class Test : public QObject
{
public:
   Q_OBJECT
   QTimeZone tz;
};
EOF

add_opt MOC no
if [ "$HAVE_QT" = "yes" ]; then
	printf %s 'Checking for moc ... '

	moc_works=0
	if [ "$MOC" ]; then
		QT_SELECT="$QT_VERSION" \
		"$MOC" -o "$TEMP_CPP" "$TEMP_MOC" >/dev/null 2>&1 &&
			$(printf %s "$CXX") -o "$TEMP_EXE" \
			$(printf %s "$QT_FLAGS") -fPIC -c "$TEMP_CPP" \
			>/dev/null 2>&1 &&
		moc_works=1
	else
		if [ "$QT_VERSION" = "qt6" ]; then
			QMAKE="$(exists qmake6)" || QMAKE="qmake"
			$QMAKE -query QT_HOST_LIBEXECS && QT_HOST_LIBEXECS="$($QMAKE -query QT_HOST_LIBEXECS)/"
		fi
		for moc in "${QT_HOST_LIBEXECS}moc-$QT_VERSION" "${QT_HOST_LIBEXECS}moc"; do
			MOC="$(exists "$moc")" || MOC=""
			if [ "$MOC" ]; then
				QT_SELECT="$QT_VERSION" \
				"$MOC" -o "$TEMP_CPP" "$TEMP_MOC" >/dev/null 2>&1 ||
					continue
				if $(printf %s "$CXX") -o "$TEMP_EXE" \
						$(printf %s "$QT_FLAGS") -fPIC -c \
						"$TEMP_CPP" >/dev/null 2>&1; then
					moc_works=1
					break
				fi
			fi
		done
	fi

	moc_status='does not work'
	if [ "$moc_works" = '1' ]; then
		moc_status='works'
		HAVE_MOC='yes'
	elif [ -z "$MOC" ]; then
		moc_status='not found'
	fi

	printf %s\\n "$MOC $moc_status"

	if [ "$HAVE_MOC" != 'yes' ]; then
		HAVE_QT='no'
		die : 'Warning: moc not found, Qt companion support will be disabled.'
	fi
fi

rm -f -- "$TEMP_CPP" "$TEMP_EXE" "$TEMP_MOC"