@@ -25,6 +25,7 @@ source ${SCRIPT_DIR}/utils-general.sh
2525
2626WOLFPROV_SOURCE_DIR=${SCRIPT_DIR} /..
2727WOLFPROV_INSTALL_DIR=${SCRIPT_DIR} /../wolfprov-install
28+ LIBDEFAULT_STUB_SOURCE_DIR=${SCRIPT_DIR} /../default_stub
2829LIBDEFAULT_STUB_INSTALL_DIR=${SCRIPT_DIR} /../libdefault-stub-install
2930WOLFPROV_WITH_WOLFSSL=--with-wolfssl=${WOLFSSL_INSTALL_DIR}
3031
@@ -58,9 +59,12 @@ WOLFPROV_DEBUG=${WOLFPROV_DEBUG:-0}
5859WOLFPROV_CLEAN=${WOLFPROV_CLEAN:- 0}
5960WOLFPROV_DISTCLEAN=${WOLFPROV_DISTCLEAN:- 0}
6061
61- build_default_stub () {
62+ install_default_stub () {
6263 printf " \nBuilding default stub library ...\n"
63- cd ${SCRIPT_DIR} /../default_stub
64+ pushd ${LIBDEFAULT_STUB_SOURCE_DIR} & > /dev/null
65+
66+ # Ensure openssl is present for header files
67+ clone_openssl
6468
6569 printf " \tGenerate build system ... "
6670 if [ ! -e " configure" ]; then
@@ -104,7 +108,7 @@ build_default_stub() {
104108 fi
105109 printf " Done.\n"
106110
107- cd ${SCRIPT_DIR} /..
111+ popd & > /dev/null
108112}
109113
110114clean_wolfprov () {
@@ -116,12 +120,21 @@ clean_wolfprov() {
116120 make clean >> $LOG_FILE 2>&1
117121 fi
118122 # Clean default_stub build artifacts
119- if [ -f " default_stub /Makefile" ]; then
123+ if [ -f " ${LIBDEFAULT_STUB_SOURCE_DIR} /Makefile" ]; then
120124 printf " Cleaning default stub ...\n"
121- make -C default_stub clean >> $LOG_FILE 2>&1
125+ make -C ${LIBDEFAULT_STUB_SOURCE_DIR} clean >> $LOG_FILE 2>&1
122126 fi
123127 # Remove root libdefault.la file
124128 rm -f libdefault.la
129+ # Remove autoconf files in default_stub
130+ rm -f ${LIBDEFAULT_STUB_SOURCE_DIR} /aclocal.m4
131+ rm -f ${LIBDEFAULT_STUB_SOURCE_DIR} /config.h
132+ rm -f ${LIBDEFAULT_STUB_SOURCE_DIR} /config.log
133+ rm -f ${LIBDEFAULT_STUB_SOURCE_DIR} /config.status
134+ rm -f ${LIBDEFAULT_STUB_SOURCE_DIR} /configure
135+ rm -f ${LIBDEFAULT_STUB_SOURCE_DIR} /depcomp
136+ rm -f ${LIBDEFAULT_STUB_SOURCE_DIR} /install-sh
137+ # Remove entire wolfProvider install directory
125138 rm -rf ${WOLFPROV_INSTALL_DIR}
126139 fi
127140 if [ " $WOLFPROV_DISTCLEAN " -eq " 1" ]; then
@@ -132,7 +145,7 @@ clean_wolfprov() {
132145}
133146
134147install_wolfprov () {
135- cd ${WOLFPROV_SOURCE_DIR}
148+ pushd ${WOLFPROV_SOURCE_DIR} & > /dev/null
136149
137150 # Add stub library path for replace-default functionality after dependencies are installed
138151 if [ " $WOLFPROV_REPLACE_DEFAULT " = " 1" ]; then
@@ -143,6 +156,11 @@ install_wolfprov() {
143156 fi
144157 fi
145158
159+ # Build stub first so we can link OpenSSL against it
160+ if [ " $WOLFPROV_REPLACE_DEFAULT " = " 1" ]; then
161+ install_default_stub
162+ fi
163+
146164 init_openssl
147165 init_wolfssl
148166
@@ -209,6 +227,8 @@ install_wolfprov() {
209227 exit 1
210228 fi
211229 printf " Done.\n"
230+
231+ popd & > /dev/null
212232}
213233
214234init_wolfprov () {
0 commit comments