Skip to content
This repository has been archived by the owner on Jul 24, 2024. It is now read-only.

Commit

Permalink
Build with the unbundled libsass
Browse files Browse the repository at this point in the history
If PKGCONFIG is set to YES in the proces
environment, use pkg-config to locate
system libsass to be linked.

This way there is no need to checkout
a src/libsass submodule at all and
the library from the package management
system can be used.

Otherwise fallback to the bundled libsass.

By default, use the bundled library.

PR: 139
PR: 389
PR: 744
  • Loading branch information
saper committed Mar 15, 2015
1 parent c97411e commit af1eab7
Show file tree
Hide file tree
Showing 3 changed files with 116 additions and 47 deletions.
62 changes: 16 additions & 46 deletions binding.gyp
Original file line number Diff line number Diff line change
Expand Up @@ -4,56 +4,26 @@
'target_name': 'binding',
'sources': [
'src/binding.cpp',
'src/sass_context_wrapper.cpp',
'src/libsass/ast.cpp',
'src/libsass/base64vlq.cpp',
'src/libsass/bind.cpp',
'src/libsass/cencode.c',
'src/libsass/constants.cpp',
'src/libsass/context.cpp',
'src/libsass/contextualize.cpp',
'src/libsass/copy_c_str.cpp',
'src/libsass/error_handling.cpp',
'src/libsass/eval.cpp',
'src/libsass/expand.cpp',
'src/libsass/extend.cpp',
'src/libsass/file.cpp',
'src/libsass/functions.cpp',
'src/libsass/inspect.cpp',
'src/libsass/json.cpp',
'src/libsass/node.cpp',
'src/libsass/output_compressed.cpp',
'src/libsass/output_nested.cpp',
'src/libsass/parser.cpp',
'src/libsass/prelexer.cpp',
'src/libsass/remove_placeholders.cpp',
'src/libsass/sass.cpp',
'src/libsass/sass2scss.cpp',
'src/libsass/sass_context.cpp',
'src/libsass/sass_functions.cpp',
'src/libsass/sass_util.cpp',
'src/libsass/sass_values.cpp',
'src/libsass/source_map.cpp',
'src/libsass/to_c.cpp',
'src/libsass/to_string.cpp',
'src/libsass/units.cpp',
'src/libsass/utf8_string.cpp',
'src/libsass/util.cpp'
'src/sass_context_wrapper.cpp'
],
'include_dirs': [
'<!(node -e "require(\'nan\')")'
],
'cflags!': [
'-fno-exceptions'
],
'cflags_cc!': [
'-fno-exceptions'
],
'cflags_cc': [
'-fexceptions',
'-frtti'
'<!(node -e "require(\'nan\')")',
],
'conditions': [
[ 'PKGCONFIG == "YES"', {
'cc_flags': [
'<!(pkg-config --cflags libsass)',
],
'link_settings': {
'ldflags': [
'<!(pkg-config --libs libsass)',
],
},
}, {
'dependencies': [
'libsass.gyp:libsass',
]
} ],
['OS=="mac"', {
'xcode_settings': {
'OTHER_CPLUSPLUSFLAGS': [
Expand Down
95 changes: 95 additions & 0 deletions libsass.gyp
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
{
'targets': [
{
'target_name': 'libsass',
'type': 'static_library',
'product_prefix': 'lib',
'sources': [
'src/libsass/ast.cpp',
'src/libsass/base64vlq.cpp',
'src/libsass/bind.cpp',
'src/libsass/cencode.c',
'src/libsass/constants.cpp',
'src/libsass/context.cpp',
'src/libsass/contextualize.cpp',
'src/libsass/copy_c_str.cpp',
'src/libsass/error_handling.cpp',
'src/libsass/eval.cpp',
'src/libsass/expand.cpp',
'src/libsass/extend.cpp',
'src/libsass/file.cpp',
'src/libsass/functions.cpp',
'src/libsass/inspect.cpp',
'src/libsass/json.cpp',
'src/libsass/node.cpp',
'src/libsass/output_compressed.cpp',
'src/libsass/output_nested.cpp',
'src/libsass/parser.cpp',
'src/libsass/prelexer.cpp',
'src/libsass/remove_placeholders.cpp',
'src/libsass/sass.cpp',
'src/libsass/sass2scss.cpp',
'src/libsass/sass_context.cpp',
'src/libsass/sass_functions.cpp',
'src/libsass/sass_util.cpp',
'src/libsass/sass_values.cpp',
'src/libsass/source_map.cpp',
'src/libsass/to_c.cpp',
'src/libsass/to_string.cpp',
'src/libsass/units.cpp',
'src/libsass/utf8_string.cpp',
'src/libsass/util.cpp'
],
'cflags!': [
'-fno-exceptions'
],
'cflags_cc!': [
'-fno-exceptions'
],
'cflags_cc': [
'-fexceptions',
'-frtti'
],
'direct_dependent_settings': {
'include_dirs': [ 'src/libsass' ],
},
'conditions': [
['OS=="mac"', {
'xcode_settings': {
'OTHER_CPLUSPLUSFLAGS': [
'-std=c++11',
'-stdlib=libc++'
],
'OTHER_LDFLAGS': [
'-stdlib=libc++'
],
'GCC_ENABLE_CPP_EXCEPTIONS': 'YES',
'GCC_ENABLE_CPP_RTTI': 'YES',
'MACOSX_DEPLOYMENT_TARGET': '10.7'
}
}],
['OS=="win"', {
'msvs_settings': {
'VCCLCompilerTool': {
'AdditionalOptions': [
'/GR',
'/EHsc'
]
}
},
'msvs_disabled_warnings': [
# conversion from `double` to `size_t`, possible loss of data
4244,
# decorated name length exceeded
4503
]
}],
['OS!="win"', {
'cflags_cc+': [
'-std=c++0x'
]
}]
]
}
]
}
6 changes: 5 additions & 1 deletion scripts/build.js
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,11 @@ function afterBuild(options) {
*/

function build(options) {
var arguments = [path.join('node_modules', 'pangyp', 'bin', 'node-gyp'), 'rebuild'].concat(options.args);
var arguments = [
path.join('node_modules', 'pangyp', 'bin', 'node-gyp'),
'rebuild',
[ '-PKGCONFIG=', process.env.PKGCONFIG || 'NO' ].join(''),
].concat(options.args);

console.log(['Building:', process.sass.runtime.execPath].concat(arguments).join(' '));

Expand Down

0 comments on commit af1eab7

Please sign in to comment.