#! /bin/sh
CMD_DIR=`dirname $0`

if [ -z "$JAVA_OPTS" ]; then
	JAVA_OPTS="-Xmx2048m"
fi

if [ -z "$COPPER_HOME" ]; then
	COPPER_HOME=$CMD_DIR
fi

# JAVA_HOME が空のとき $JAVA_HOME/bin/java は /bin/java になる。そこに java があると
# 「JAVA_HOME は正しい」と見なされ、同梱 JRE が使われなかった(2026-09-21 に WSL で実測。
# 同梱版の狙いは Java の無い機械で動くことなので、空は「java 無し」として扱う)
if [ -z "$JAVA_HOME" ] || [ ! -f "$JAVA_HOME/bin/java" ]; then
	if [ -f "$CMD_DIR/extras/redhat/runtime/bin/java" ]; then
		JAVA_HOME=$CMD_DIR/extras/redhat/runtime
	elif [ -f /var/lib/copper-pdf/extras/redhat/runtime/bin/java ]; then
		JAVA_HOME=/var/lib/copper-pdf/extras/redhat/runtime
	fi
fi

JAVA_CMD=$JAVA_HOME/bin/java
COPPER_VAR=$COPPER_HOME
COPPER_SHARE=$COPPER_HOME

if [ ! -f $JAVA_CMD ]; then
	JAVA_CMD=java
fi
if [ ! -d $COPPER_VAR/conf/profiles ]; then
	COPPER_VAR=/var/lib/copper-pdf
fi
if [ ! -d $COPPER_SHARE/lib ]; then
	COPPER_SHARE=/usr/share/copper-pdf
fi

COPPER_LIB=$COPPER_SHARE/lib
COPPER_PROP=$HOME/.copper/default.properties
COPPER_CONFIG=$COPPER_VAR/conf

if [ ! -f $COPPER_PROP ]; then
	if [ ! -d $HOME/.copper ]; then
		mkdir $HOME/.copper
	fi
	cp -r $COPPER_VAR/conf/profiles/* $HOME/.copper/
fi

$JAVA_CMD \
	$JAVA_OPTS \
	-Djava.net.preferIPv4Stack=true \
	-Djp.cssj.boot.lib=$COPPER_LIB \
	-Djp.cssj.plugin.lib=$COPPER_SHARE/plugins \
	-Djp.cssj.boot.main=jp.cssj.driver.cli.Main \
	-Djp.cssj.driver.default=$COPPER_PROP \
	-Djp.cssj.copper.config=$COPPER_CONFIG \
	-jar $COPPER_LIB/boot.jar \
	$*
