Skip to content

Commit 6bf8203

Browse files
committed
feat: set environment variables for Hamlib build process on macOS and Linux
1 parent 59c4301 commit 6bf8203

File tree

1 file changed

+27
-1
lines changed

1 file changed

+27
-1
lines changed

scripts/build-all.js

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,12 +161,38 @@ async function setupHamlib() {
161161
logger.startSpinner('Building Hamlib from source...');
162162

163163
try {
164-
const buildCmd = `node ${path.join(__dirname, 'build-hamlib.js')}`;
164+
const cwd = process.cwd();
165+
const hamlibPrefix = path.join(cwd, 'hamlib-build');
166+
167+
const buildCmd = `node ${path.join(__dirname, 'build-hamlib.js')} --prefix=${hamlibPrefix}`;
165168
const buildArgs = args.minimal ? ' --minimal' : '';
166169

167170
exec(buildCmd + buildArgs);
168171

169172
logger.succeedSpinner('Hamlib built successfully');
173+
174+
// Set environment variables for subsequent steps
175+
process.env.HAMLIB_PREFIX = hamlibPrefix;
176+
177+
if (process.platform === 'linux') {
178+
const libPath = path.join(hamlibPrefix, 'lib');
179+
process.env.LD_LIBRARY_PATH = process.env.LD_LIBRARY_PATH
180+
? `${libPath}:${process.env.LD_LIBRARY_PATH}`
181+
: libPath;
182+
process.env.PKG_CONFIG_PATH = process.env.PKG_CONFIG_PATH
183+
? `${libPath}/pkgconfig:${process.env.PKG_CONFIG_PATH}`
184+
: `${libPath}/pkgconfig`;
185+
} else if (process.platform === 'darwin') {
186+
const libPath = path.join(hamlibPrefix, 'lib');
187+
process.env.DYLD_LIBRARY_PATH = process.env.DYLD_LIBRARY_PATH
188+
? `${libPath}:${process.env.DYLD_LIBRARY_PATH}`
189+
: libPath;
190+
process.env.PKG_CONFIG_PATH = process.env.PKG_CONFIG_PATH
191+
? `${libPath}/pkgconfig:${process.env.PKG_CONFIG_PATH}`
192+
: `${libPath}/pkgconfig`;
193+
}
194+
195+
logger.debug(`Set HAMLIB_PREFIX=${hamlibPrefix}`);
170196
} catch (e) {
171197
logger.failSpinner('Hamlib build failed');
172198
throw e;

0 commit comments

Comments
 (0)