From c75fdea1bef0cd524ae807eb6b68bc733a20a3c1 Mon Sep 17 00:00:00 2001
From: Daniel Bevenius <daniel.bevenius@gmail.com>
Date: Thu, 17 Jun 2021 06:57:38 +0200
Subject: [PATCH] build: use PRODUCT_DIR_ABS for MODULESDIR

This commit updates the MODULESDIR value to be the absolute path to the
modules directoy in the build output directory.

The motivation for this that it allows us to not have to specify the
environment variable OPENSSL_MODULES when running node and enabling
FIPS.
---
 common.gypi | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/common.gypi b/common.gypi
index f9574b6163938d..52abaa2aa8930f 100644
--- a/common.gypi
+++ b/common.gypi
@@ -86,6 +86,7 @@
         'os_posix': 0,
         'v8_postmortem_support%': 0,
         'obj_dir': '<(PRODUCT_DIR)/obj',
+        'obj_dir_abs': '<(PRODUCT_DIR_ABS)/obj',
         'v8_base': '<(PRODUCT_DIR)/lib/libv8_snapshot.a',
       }, {
         'os_posix': 1,
@@ -93,9 +94,11 @@
       }],
       ['GENERATOR == "ninja"', {
         'obj_dir': '<(PRODUCT_DIR)/obj',
+        'obj_dir_abs': '<(PRODUCT_DIR_ABS)/obj',
         'v8_base': '<(PRODUCT_DIR)/obj/tools/v8_gypfiles/libv8_snapshot.a',
       }, {
         'obj_dir%': '<(PRODUCT_DIR)/obj.target',
+        'obj_dir_abs%': '<(PRODUCT_DIR_ABS)/obj.target',
         'v8_base': '<(PRODUCT_DIR)/obj.target/tools/v8_gypfiles/libv8_snapshot.a',
       }],
       ['openssl_fips != ""', {
@@ -106,6 +109,7 @@
       ['OS=="mac"', {
         'clang%': 1,
         'obj_dir%': '<(PRODUCT_DIR)/obj.target',
+        'obj_dir_abs%': '<(PRODUCT_DIR_ABS)/obj.target',
         'v8_base': '<(PRODUCT_DIR)/libv8_snapshot.a',
       }],
       ['target_arch in "ppc64 s390x"', {
@@ -565,7 +569,7 @@
       }],
       ['node_use_openssl=="true"', {
         'defines': [
-          'MODULESDIR="<(obj_dir)/deps/openssl/"',
+          'MODULESDIR="<(obj_dir_abs)/deps/openssl/lib/openssl-modules"',
         ],
       }],
     ],