Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Early preview of dart-sass parser backport #2918

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@ libsass/*
*.lo
*.so
*.dll
*.h.gch
*.h.pch
*.hpp.gch
*.hpp.pch
*.a
*.suo
*.sdf
Expand Down
4 changes: 0 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,6 @@ matrix:

script:
- ./script/ci-build-libsass
- ./script/ci-build-plugin math
- ./script/ci-build-plugin glob
- ./script/ci-build-plugin digest
- ./script/ci-build-plugin tests
before_install: ./script/ci-install-deps
install: ./script/ci-install-compiler
after_success: ./script/ci-report-coverage
20 changes: 2 additions & 18 deletions GNUmakefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ if ENABLE_TESTS

SASS_SASSC_PATH ?= $(top_srcdir)/sassc
SASS_SPEC_PATH ?= $(top_srcdir)/sass-spec
LIBSASS_SPEC_PATH ?= $(top_srcdir)/libsass-spec
SASS_SPEC_ROOT ?= $(top_srcdir)/sass-spec

noinst_PROGRAMS = tester
tester_LDADD = src/libsass.la
Expand All @@ -50,41 +50,25 @@ AM_RB_LOG_FLAGS = $(RUBY)
SASS_TEST_FLAGS = --impl libsass
SASS_TEST_FLAGS += -r $(SASS_SPEC_PATH)/spec
SASS_TEST_FLAGS += -c $(top_srcdir)/tester$(EXEEXT)
LIBSASS_TEST_FLAGS = --impl libsass
LIBSASS_TEST_FLAGS += -r $(LIBSASS_SPEC_PATH)/spec
LIBSASS_TEST_FLAGS += -c $(top_srcdir)/tester$(EXEEXT)
COMPRESSED_TEST_FLAGS = --impl libsass
COMPRESSED_TEST_FLAGS += -r $(LIBSASS_SPEC_PATH)/styles/compressed
COMPRESSED_TEST_FLAGS += -c $(top_srcdir)/tester$(EXEEXT)
COMPRESSED_TEST_FLAGS += --cmd-args="-t compressed"
SASS_TEST_FLAGS += --cmd-args "-I $(SASS_SPEC_ROOT)/spec"
AM_TESTS_ENVIRONMENT = TEST_FLAGS='$(SASS_TEST_FLAGS)'

SASS_TESTER = $(RUBY) $(SASS_SPEC_PATH)/sass-spec.rb

test:
$(SASS_TESTER) $(SASS_TEST_FLAGS)
$(SASS_TESTER) $(LIBSASS_TEST_FLAGS)
$(SASS_TESTER) $(COMPRESSED_TEST_FLAGS)

test_build:
$(SASS_TESTER) $(SASS_TEST_FLAGS)
$(SASS_TESTER) $(LIBSASS_TEST_FLAGS)
$(SASS_TESTER) $(COMPRESSED_TEST_FLAGS)

test_full:
$(SASS_TESTER) --run-todo $(SASS_TEST_FLAGS)
$(SASS_TESTER) --run-todo $(LIBSASS_TEST_FLAGS)
$(SASS_TESTER) --run-todo $(COMPRESSED_TEST_FLAGS)

test_probe:
$(SASS_TESTER) --probe-todo $(SASS_TEST_FLAGS)
$(SASS_TESTER) --probe-todo $(LIBSASS_TEST_FLAGS)
$(SASS_TESTER) --probe-todo $(COMPRESSED_TEST_FLAGS)

test_interactive:
$(SASS_TESTER) --interactive $(SASS_TEST_FLAGS)
$(SASS_TESTER) --interactive $(LIBSASS_TEST_FLAGS)
$(SASS_TESTER) --interactive $(COMPRESSED_TEST_FLAGS)

.PHONY: test test_build test_full test_probe

Expand Down
61 changes: 39 additions & 22 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,24 @@ CFLAGS ?= -Wall
CXXFLAGS ?= -Wall
LDFLAGS ?= -Wall
ifndef COVERAGE
CFLAGS += -O2
CXXFLAGS += -O2
LDFLAGS += -O2
CFLAGS += -O3 -pipe -DNDEBUG -fomit-frame-pointer
CXXFLAGS += -O3 -pipe -DNDEBUG -fomit-frame-pointer
LDFLAGS += -O3 -pipe -DNDEBUG -fomit-frame-pointer
else
CFLAGS += -O1 -fno-omit-frame-pointer
CXXFLAGS += -O1 -fno-omit-frame-pointer
LDFLAGS += -O1 -fno-omit-frame-pointer
endif
ifeq "$(LIBSASS_GPO)" "generate"
CFLAGS += -fprofile-generate
CXXFLAGS += -fprofile-generate
LDFLAGS += -fprofile-generate -Wl,-fprofile-instr-generate
endif
ifeq "$(LIBSASS_GPO)" "use"
CFLAGS += -fprofile-use
CXXFLAGS += -fprofile-use
LDFLAGS += -fprofile-use -Wl,-fprofile-instr-use
endif
CAT ?= $(if $(filter $(OS),Windows_NT),type,cat)

ifneq (,$(findstring /cygdrive/,$(PATH)))
Expand Down Expand Up @@ -84,6 +94,9 @@ else
CXXFLAGS += -I include
endif

CFLAGS += -I $(SASS_LIBSASS_PATH)/src
CXXFLAGS += -I $(SASS_LIBSASS_PATH)/src

CFLAGS += $(EXTRA_CFLAGS)
CXXFLAGS += $(EXTRA_CXXFLAGS)
LDFLAGS += $(EXTRA_LDFLAGS)
Expand Down Expand Up @@ -144,7 +157,7 @@ SASS_SASSC_PATH ?= sassc
SASS_SPEC_PATH ?= sass-spec
SASS_SPEC_SPEC_DIR ?= spec
LIBSASS_SPEC_PATH ?= libsass-spec
LIBSASS_SPEC_SPEC_DIR ?= spec
LIBSASS_SPEC_SPEC_DIR ?= suites
SASSC_BIN = $(SASS_SASSC_PATH)/bin/sassc
RUBY_BIN = ruby

Expand Down Expand Up @@ -177,6 +190,7 @@ endif
include Makefile.conf
OBJECTS = $(addprefix src/,$(SOURCES:.cpp=.o))
COBJECTS = $(addprefix src/,$(CSOURCES:.c=.o))
HEADOBJS = $(addprefix src/,$(HPPFILES:.hpp=.hpp.gch))
RCOBJECTS = $(RESOURCES:.rc=.o)

DEBUG_LVL ?= NONE
Expand All @@ -185,6 +199,7 @@ CLEANUPS ?=
CLEANUPS += $(RCOBJECTS)
CLEANUPS += $(COBJECTS)
CLEANUPS += $(OBJECTS)
CLEANUPS += $(HEADOBJS)
CLEANUPS += $(LIBSASS_LIB)

all: $(BUILD)
Expand Down Expand Up @@ -218,15 +233,18 @@ lib/libsass.dll: $(COBJECTS) $(OBJECTS) $(RCOBJECTS) | lib
$(CXX) -shared $(LDFLAGS) -o $@ $(COBJECTS) $(OBJECTS) $(RCOBJECTS) $(LDLIBS) \
-s -Wl,--subsystem,windows,--out-implib,lib/libsass.a

%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<

%.o: %.rc
$(RCOBJECTS): %.o: %.rc
$(WINDRES) -i $< -o $@

%.o: %.cpp
$(OBJECTS): %.o: %.cpp
$(CXX) $(CXXFLAGS) -c -o $@ $<

$(COBJECTS): %.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<

$(HEADOBJS): %.hpp.gch: %.hpp
$(CXX) $(CXXFLAGS) -x c++-header -c -o $@ $<

%: %.o static
$(CXX) $(CXXFLAGS) -o $@ $+ $(LDFLAGS) $(LDLIBS)

Expand All @@ -252,7 +270,6 @@ $(DESTDIR)$(PREFIX)/include/%.h: include/%.h \
$(INSTALL) -v -m0644 "$<" "$@"

install-headers: $(DESTDIR)$(PREFIX)/include/sass.h \
$(DESTDIR)$(PREFIX)/include/sass2scss.h \
$(DESTDIR)$(PREFIX)/include/sass/base.h \
$(DESTDIR)$(PREFIX)/include/sass/version.h \
$(DESTDIR)$(PREFIX)/include/sass/values.h \
Expand Down Expand Up @@ -302,55 +319,55 @@ test_build: $(SASSC_BIN) $(SASS_SPEC_PATH) $(LIBSASS_SPEC_PATH)
--cmd-args "-I $(SASS_SPEC_PATH)/$(SASS_SPEC_SPEC_DIR)" \
$(LOG_FLAGS) $(SASS_SPEC_PATH)/$(SASS_SPEC_SPEC_DIR)
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -c $(SASSC_BIN) --impl libsass \
--cmd-args "-I $(LIBSASS_SPEC_PATH)/$(LIBSASS_SPEC_SPEC_DIR)" \
--cmd-args "-I . -I $(LIBSASS_SPEC_PATH)/$(LIBSASS_SPEC_SPEC_DIR)" \
$(LOG_FLAGS) $(LIBSASS_SPEC_PATH)/$(LIBSASS_SPEC_SPEC_DIR)
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -c $(SASSC_BIN) --impl libsass \
--cmd-args "-I $(LIBSASS_SPEC_PATH)/styles/compressed -t compressed" \
--cmd-args "-I . -I $(LIBSASS_SPEC_PATH)/styles/compressed -t compressed" \
$(LOG_FLAGS) $(LIBSASS_SPEC_PATH)/styles/compressed
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -c $(SASSC_BIN) --impl libsass \
--cmd-args "-I $(LIBSASS_SPEC_PATH)/styles/nested -t nested" \
--cmd-args "-I . -I $(LIBSASS_SPEC_PATH)/styles/nested -t nested" \
$(LOG_FLAGS) $(LIBSASS_SPEC_PATH)/styles/nested

test_full: $(SASSC_BIN) $(SASS_SPEC_PATH) $(LIBSASS_SPEC_PATH)
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -c $(SASSC_BIN) --impl libsass \
--cmd-args "-I $(SASS_SPEC_PATH)/$(SASS_SPEC_SPEC_DIR)" \
--run-todo $(LOG_FLAGS) $(SASS_SPEC_PATH)/$(SASS_SPEC_SPEC_DIR)
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -c $(SASSC_BIN) --impl libsass \
--cmd-args "-I $(LIBSASS_SPEC_PATH)/$(LIBSASS_SPEC_SPEC_DIR)" \
--cmd-args "-I . -I $(LIBSASS_SPEC_PATH)/$(LIBSASS_SPEC_SPEC_DIR)" \
--run-todo $(LOG_FLAGS) $(LIBSASS_SPEC_PATH)/$(LIBSASS_SPEC_SPEC_DIR)
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -c $(SASSC_BIN) --impl libsass \
--cmd-args "-I $(LIBSASS_SPEC_PATH)/styles/compressed -t compressed" \
--cmd-args "-I . -I $(LIBSASS_SPEC_PATH)/styles/compressed -t compressed" \
--run-todo $(LOG_FLAGS) $(LIBSASS_SPEC_PATH)/styles/compressed
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -c $(SASSC_BIN) --impl libsass \
--cmd-args "-I $(LIBSASS_SPEC_PATH)/styles/nested -t nested" \
--cmd-args "-I . -I $(LIBSASS_SPEC_PATH)/styles/nested -t nested" \
--run-todo $(LOG_FLAGS) $(LIBSASS_SPEC_PATH)/styles/nested

test_probe: $(SASSC_BIN) $(SASS_SPEC_PATH) $(LIBSASS_SPEC_PATH)
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -c $(SASSC_BIN) --impl libsass \
--cmd-args "-I $(SASS_SPEC_PATH)/$(SASS_SPEC_SPEC_DIR)" \
--probe-todo $(LOG_FLAGS) $(SASS_SPEC_PATH)/$(SASS_SPEC_SPEC_DIR)
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -c $(SASSC_BIN) --impl libsass \
--cmd-args "-I $(LIBSASS_SPEC_PATH)/$(LIBSASS_SPEC_SPEC_DIR)" \
--cmd-args "-I . -I $(LIBSASS_SPEC_PATH)/$(LIBSASS_SPEC_SPEC_DIR)" \
--probe-todo $(LOG_FLAGS) $(LIBSASS_SPEC_PATH)/$(LIBSASS_SPEC_SPEC_DIR)
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -c $(SASSC_BIN) --impl libsass \
--cmd-args "-I $(LIBSASS_SPEC_PATH)/styles/compressed -t compressed" \
--cmd-args "-I . -I $(LIBSASS_SPEC_PATH)/styles/compressed -t compressed" \
--probe-todo $(LOG_FLAGS) $(LIBSASS_SPEC_PATH)/styles/compressed
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -c $(SASSC_BIN) --impl libsass \
--cmd-args "-I $(LIBSASS_SPEC_PATH)/styles/nested -t nested" \
--cmd-args "-I . -I $(LIBSASS_SPEC_PATH)/styles/nested -t nested" \
--probe-todo $(LOG_FLAGS) $(LIBSASS_SPEC_PATH)/styles/nested

test_interactive: $(SASSC_BIN) $(SASS_SPEC_PATH) $(LIBSASS_SPEC_PATH)
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -c $(SASSC_BIN) --impl libsass \
--cmd-args "-I $(SASS_SPEC_PATH)/$(SASS_SPEC_SPEC_DIR)" \
--interactive $(LOG_FLAGS) $(SASS_SPEC_PATH)/$(SASS_SPEC_SPEC_DIR)
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -c $(SASSC_BIN) --impl libsass \
--cmd-args "-I $(LIBSASS_SPEC_PATH)/$(LIBSASS_SPEC_SPEC_DIR)" \
--cmd-args "-I . -I $(LIBSASS_SPEC_PATH)/$(LIBSASS_SPEC_SPEC_DIR)" \
--interactive $(LOG_FLAGS) $(LIBSASS_SPEC_PATH)/$(LIBSASS_SPEC_SPEC_DIR)
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -c $(SASSC_BIN) --impl libsass \
--cmd-args "-I $(LIBSASS_SPEC_PATH)/styles/compressed -t compressed" \
--cmd-args "-I . -I $(LIBSASS_SPEC_PATH)/styles/compressed -t compressed" \
--interactive $(LOG_FLAGS) $(LIBSASS_SPEC_PATH)/styles/compressed
$(RUBY_BIN) $(SASS_SPEC_PATH)/sass-spec.rb -c $(SASSC_BIN) --impl libsass \
--cmd-args "-I $(LIBSASS_SPEC_PATH)/styles/nested -t nested" \
--cmd-args "-I . -I $(LIBSASS_SPEC_PATH)/styles/nested -t nested" \
--interactive $(LOG_FLAGS) $(LIBSASS_SPEC_PATH)/styles/nested

clean-objects: | lib
Expand Down
Loading