Coder Social home page Coder Social logo

Comments (6)

craigbarnes avatar craigbarnes commented on June 2, 2024

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.

akhleung avatar akhleung commented on June 2, 2024

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.

idupree avatar idupree commented on June 2, 2024

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.

craigbarnes avatar craigbarnes commented on June 2, 2024

@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.

mgreter avatar mgreter commented on June 2, 2024

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.

mgreter avatar mgreter commented on June 2, 2024

Sassc can now link libsass dynamically:
https://travis-ci.org/sass/sassc/builds/43364566

from sassc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.