Comments (6)
I added the shared target to the libsass Makefile a while back to make it easier to package for Fedora. I never got around to submitting one for sassc, since it's so easy to manually build the single file. I'll make a patch soon unless someone beats me to it but I'm guessing the main authors are quite content with static linking.
from sassc.
We're currently happy with static linking, but if you have a working patch for linking against a shared libsass, please make a pull request!
from sassc.
If you use the autotools build systems for libsass and sassc, then sassc is already built against shared libsass. On my Arch Linux:
% ldd /usr/bin/sassc
linux-vdso.so.1 (0x00007fffa3944000)
libsass.so.0 => /usr/lib/libsass.so.0 (0x00007f75cfc8a000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f75cf8e7000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f75cf5d8000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007f75cf2d3000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f75cf0bd000)
/lib64/ld-linux-x86-64.so.2 (0x00007f75d0001000)
I didn't write the build systems, I only packaged them for Archlinux (libsass, sassc). So I don't know why there are two buildsystems (namely: plain old Makefiles; and autotools that overwrites the plain old Makefiles if you run ./configure
[1]). Currently the autotools build system is most suitable for distro packaging, and the Makefile build system is most convenient for development of libsass/sassc.
[1] If using a git checkout, first run something like autoreconf -i
to generate the configure
script.
from sassc.
@idupree Unless I'm mistaken, it seems the libsass API and ABI have changed quite a bit without any corresponding soname version bumps. The autotools build does seem best, but I'm not so sure that any dynamically linked build is suitable for distro packaging without proper versioning.
from sassc.
Actually there were some commits recently that have added basic test if dynamic linking is working.
The version for libtool
is defined in Makefile.am
libsass_la_LDFLAGS = -no-undefined -version-info 0:0:0
This was pretty much just prepared for once libsass wants to ship stable libraries.
I guess it is currently still moving to fast to consider this, but IMO we're getting there.
I actually have refactored the c interface quite heavily on a local branch to get the api/abi more stable in this perspective. Will probably create a PR soon to get this going. This could finally close the oldest standing issue reported for libsass.
from sassc.
Sassc can now link libsass dynamically:
https://travis-ci.org/sass/sassc/builds/43364566
from sassc.
Related Issues (20)
- unrecognized command line option '-stdlib=libc++'
- `--version` is broken HOT 4
- SASS_PATH is ignored HOT 3
- sass_make_data_context adopts char* HOT 5
- Building jekyll site fails HOT 2
- On Windows search for libsass.so instead of libsass.dll HOT 3
- error compiling sassc on aarch64 HOT 1
- With rails 6 Failure/Error: @import "fancy-buttons"
- globbed imports? HOT 1
- New sassc 3.6.1 is broken HOT 1
- installing sassc from snap HOT 1
- Option to add contentSources to source map
- "Installing sassc 2.4.0 with native extensions" takes a long time HOT 4
- Mark SassC as deprecated
- Ship precompiled gems for Linux HOT 2
- Allow for more complex at-media query HOT 2
- makefile not working HOT 1
- Bad value (‘tigerlake’) for ‘-march=’
- There is one vulnerability that will lead to an endless loop HOT 1
- Could not execute command 'sassc‘
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sassc.