Я могу добавить Повышение source+header файлы к моему собственному проекту (С открытым исходным кодом)? [закрытый]

5
задан rubenvb 21 May 2010 в 09:39
поделиться

3 ответа

Да, вы можете это сделать. Лицензия очень либеральна. Единственное условие - если вы распространяете свое программное обеспечение в исходной форме, вам необходимо приложить полную копию лицензии.

4
ответ дан 14 December 2019 в 13:28
поделиться

Я бы порекомендовал сделать ссылку для внешнего повышения вместо того, чтобы включать исходный код непосредственно в ваши проекты. Помимо огромной проблемы с зависимостью от паутины, их внешняя привязка означает, что вы всегда можете ссылаться на последнюю стабильную сборку (предположим, что u checkout из репозитория) без явной перезаписи каждого старого источника в вашем проекте.

1
ответ дан 14 December 2019 в 13:28
поделиться

Существует утилита bcp, поставляемая с boost, которая может сканировать ваш источник и извлекать любые файлы заголовков boost, которые используются из источника boost. Я установил сценарий, который выполняет это извлечение в наше дерево исходных текстов, чтобы мы могли упаковать нужный нам источник вместе с нашим кодом. Он также скопирует исходные файлы boost для пары используемых нами библиотек boost, которые не являются только заголовками, которые затем компилируются непосредственно в наши приложения. Это упрощает повторный запуск скрипта всякий раз, когда выпускается новая версия boost.

Для справки, вот что мы используем #! / bin / sh BOOST_SRC = ... / boost_1_43_0 DEST_DIR = .. / src / boost НАБОР ИНСТРУМЕНТОВ = если (test uname = "Дарвин"), то TOOLSET = "- toolset = darwin" fi

# make bcp if necessary
if ( ! test -x $BOOST_SRC/dist/bin/bcp ) then
    if ( test -x $BOOST_SRC/tools/jam/*/bin.*/bjam ) then
        BJAM=$BOOST_SRC/tools/jam/*/bin.*/bjam
    else
        echo "### Building bjam"
        pushd $BOOST_SRC/tools/jam
        ./build_dist.sh
        popd
        if ( test -x $BOOST_SRC/tools/jam/*/bin.*/bjam ) then
            BJAM=$BOOST_SRC/tools/jam/*/bin.*/bjam
        fi

    fi
    echo "BJAM: $BJAM"
    pushd $BOOST_SRC/tools/bcp
    echo "### Building bcp"
    echo "$BJAM $TOOLSET"
    $BJAM $TOOLSET
    if [ $? == "0" ]; then
        exit 1;
    fi
    popd
fi

if ( ! test -x $BOOST_SRC/dist/bin/bcp) then
    echo "### Couldn't find bpc"
    exit 1;
fi

mkdir -p $DEST_DIR

echo "### Copying boost source"
MAKEFILEAM=$DEST_DIR/libs/Makefile.am
rm $MAKEFILEAM

# copy source libraries
mkdir -p $DEST_DIR/libs/signals/src
cp $BOOST_SRC/libs/signals/src/* $DEST_DIR/libs/signals/src/.
echo -n "boost_sources += " >> $MAKEFILEAM
for f in `ls $DEST_DIR/libs/signals/src | fgrep .cpp`; do
    echo -n "boost/libs/signals/src/$f " >> $MAKEFILEAM
done
echo >> $MAKEFILEAM

echo "### Extracting boost includes"
$BOOST_SRC/dist/bin/bcp --scan --boost=$BOOST_SRC ../src/*/*.[Ch]  $DEST_DIR
if [ $? != "0" ]; then
    echo "### bcp failed"
    rm -rf $DEST_DIR
    exit 1;
fi
1
ответ дан 14 December 2019 в 13:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: