all_omk_subdirs-simply-expanded automatic_subdirs cmetric \
default-config extra_rules_subdirs header-files headers-generated \
headers-generated-default-cflags headers-nonexisting hooks \
-ignore_errors includes invocation_dir libraries no-print-directory \
+idl ignore_errors includes invocation_dir libraries no-print-directory \
no_vpath omk_config override-config parallel_make programs \
programs-cflags programs-cflags-cmdline programs-defs \
programs-test_PROGRAMS qt qt-qmake shlibs sources_dir \
--- /dev/null
+#!/bin/bash
+
+. ./functions.sh
+
+case $OMK_RULES in
+ sysless) echo "SKIPPING sysless RULES!!!!"; exit;
+esac
+
+touch config.omk-default
+
+cat > test.idl <<EOF
+# IDL input for dummy IDL compiler
+EOF
+
+cat > Makefile.omk <<EOF
+bin_PROGRAMS = testclient testserver
+INCLUDES=-I.
+
+testclient_SOURCES = testclient.c
+testclient_CLIENT_IDL = test.idl
+
+testserver_SOURCES = testserver.c
+testserver_LIBS = idlserver
+
+lib_LIBRARIES = idlserver
+idlserver_SERVER_IDL = test.idl
+EOF
+
+cat > idlcomp <<EOF
+#!/bin/sh
+out=\$(basename \${1%.idl})
+echo "int idl_skels;" > \${out}-skels.c
+echo "int idl_common;" > \${out}-common.c
+echo "int idl_stubs;" > \${out}-stubs.c
+echo "extern volatile int idl_skels;
+ extern volatile int idl_common;
+ extern volatile int idl_stubs;" > \${out}.h
+EOF
+chmod +x idlcomp
+
+cat > testclient.c <<EOF
+#include "test.h"
+int main() {
+ idl_common = 0;
+ idl_stubs = 0;
+ return 0;
+}
+EOF
+
+cat > testserver.c <<EOF
+#include "test.h"
+int main() {
+ idl_common = 0;
+ idl_skels = 0;
+ return 0;
+}
+EOF
+
+
+needs_valid_CC
+WVPASS make V=1 IDL_COMPILER=$PWD/idlcomp