Собственные расширения Ruby: цели и имена файлов
Я написал несколько нативных расширений Ruby, обычная сделка состоит в том, чтобы иметь «целевое имя», скажем, затем иметь файлext/foo/foo.c
что определяет . Мне нужно (см. ниже) иметь другое имя файла,ext/foo/bar.c
скажем, что определяетInit_foo
вместо. Это вообще возможно?
Зачем это делать
У меня есть существующий Gem под названиемfoo
, он обертывает существующую библиотеку C, которая содержит файл, оба являются стабильными и имеют пользователей. Я не хочу, чтобы пользователям драгоценного камня приходилось устанавливатьlibfoo
сами, вместо того, чтобы встроить его в сам драгоценный камень. Это стратегия «упакованного исходного кода», описанная здесь. При попытке скомпилировать эту стратегию я получаю ошибки оfoo.c
дублируется (как есть). Если бы я мог переименовать «файл расширения», как указано выше, это должно устранить этот контрольно-пропускной пункт.